class Aws::Endpoints::RuleSet
This class is deprecated. It is used by the Runtime endpoint resolution approach. It has been replaced by a code generated approach in each service gem. It can be removed in a new major version. It has to exist because old service gems can use a new core version. @api private
Attributes
parameters[R]
rules[R]
service_id[R]
version[R]
Public Class Methods
new(version:, service_id:, parameters:, rules:)
click to toggle source
# File lib/aws-sdk-core/endpoints/rule_set.rb, line 12 def initialize(version:, service_id:, parameters:, rules:) @version = version @service_id = service_id @parameters = parameters @rules = RuleSet.rules_from_json(rules || []) end
rules_from_json(rules_json)
click to toggle source
# File lib/aws-sdk-core/endpoints/rule_set.rb, line 24 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