class Aws::Endpoints::RuleSet

@api private
old service gems can use a new core version.
major version. It has to exist because
approach in each service gem. It can be removed in a new
resolution approach. It has been replaced by a code generated
This class is deprecated. It is used by the Runtime endpoint

def self.rules_from_json(rules_json)

def self.rules_from_json(rules_json)
  rules_json.each.with_object([]) do |rule, rules|
    if rule['type'] == 'endpoint'
      rules << EndpointRule.new(
        conditions: rule['conditions'],
        endpoint: rule['endpoint'],
        documentation: rule['documentation']
      )
    elsif rule['type'] == 'error'
      rules << ErrorRule.new(
        conditions: rule['conditions'],
        error: rule['error'],
        documentation: rule['documentation']
      )
    elsif rule['type'] == 'tree'
      rules << TreeRule.new(
        conditions: rule['conditions'],
        rules: rule['rules'],
        documentation: rule['documentation']
      )
    else
      # should not happen
      raise "Unknown endpoint rule type: #{rule}"
    end
  end
end

def initialize(version:, service_id:, parameters:, rules:)

def initialize(version:, service_id:, parameters:, rules:)
  @version = version
  @service_id = service_id
  @parameters = parameters
  @rules = RuleSet.rules_from_json(rules || [])
end