RuleCreator.php 661 B

1234567891011121314151617181920212223242526
  1. <?php
  2. namespace Aws\EndpointV2\Rule;
  3. use Aws\Exception\UnresolvedEndpointException;
  4. class RuleCreator
  5. {
  6. public static function create($type, $definition)
  7. {
  8. switch ($type) {
  9. case 'endpoint':
  10. return new EndpointRule($definition);
  11. case 'error':
  12. return new ErrorRule($definition);
  13. case 'tree':
  14. return new TreeRule($definition);
  15. default:
  16. throw new UnresolvedEndpointException(
  17. 'Unknown rule type ' . $type .
  18. ' must be of type `endpoint`, `tree` or `error`'
  19. );
  20. }
  21. }
  22. }