summaryrefslogtreecommitdiff
path: root/vendor/aws/aws-sdk-php/src/EndpointV2/Rule/RuleCreator.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/aws/aws-sdk-php/src/EndpointV2/Rule/RuleCreator.php')
-rw-r--r--vendor/aws/aws-sdk-php/src/EndpointV2/Rule/RuleCreator.php26
1 files changed, 26 insertions, 0 deletions
diff --git a/vendor/aws/aws-sdk-php/src/EndpointV2/Rule/RuleCreator.php b/vendor/aws/aws-sdk-php/src/EndpointV2/Rule/RuleCreator.php
new file mode 100644
index 0000000..279477e
--- /dev/null
+++ b/vendor/aws/aws-sdk-php/src/EndpointV2/Rule/RuleCreator.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace Aws\EndpointV2\Rule;
+
+use Aws\Exception\UnresolvedEndpointException;
+
+class RuleCreator
+{
+ public static function create($type, $definition)
+ {
+ switch ($type) {
+ case 'endpoint':
+ return new EndpointRule($definition);
+ case 'error':
+ return new ErrorRule($definition);
+ case 'tree':
+ return new TreeRule($definition);
+ default:
+ throw new UnresolvedEndpointException(
+ 'Unknown rule type ' . $type .
+ ' must be of type `endpoint`, `tree` or `error`'
+ );
+ }
+ }
+}
+