ok
Direktori : /home2/selectio/www/ecommerce-website/website/vendor/aws/aws-sdk-php/src/Arn/ |
Current File : /home2/selectio/www/ecommerce-website/website/vendor/aws/aws-sdk-php/src/Arn/ArnParser.php |
<?php namespace Aws\Arn; use Aws\Arn\S3\AccessPointArn as S3AccessPointArn; use Aws\Arn\ObjectLambdaAccessPointArn; use Aws\Arn\S3\MultiRegionAccessPointArn; use Aws\Arn\S3\OutpostsBucketArn; use Aws\Arn\S3\RegionalBucketArn; use Aws\Arn\S3\OutpostsAccessPointArn; /** * This class provides functionality to parse ARN strings and return a * corresponding ARN object. ARN-parsing logic may be subject to change in the * future, so this should not be relied upon for external customer usage. * * @internal */ class ArnParser { /** * @param $string * @return bool */ public static function isArn($string) { return $string !== null && strpos($string, 'arn:') === 0; } /** * Parses a string and returns an instance of ArnInterface. Returns a * specific type of Arn object if it has a specific class representation * or a generic Arn object if not. * * @param $string * @return ArnInterface */ public static function parse($string) { $data = Arn::parse($string); if ($data['service'] === 's3-object-lambda') { return new ObjectLambdaAccessPointArn($string); } $resource = self::explodeResourceComponent($data['resource']); if ($resource[0] === 'outpost') { if (isset($resource[2]) && $resource[2] === 'bucket') { return new OutpostsBucketArn($string); } if (isset($resource[2]) && $resource[2] === 'accesspoint') { return new OutpostsAccessPointArn($string); } } if (empty($data['region'])) { return new MultiRegionAccessPointArn($string); } if ($resource[0] === 'accesspoint') { if ($data['service'] === 's3') { return new S3AccessPointArn($string); } return new AccessPointArn($string); } return new Arn($data); } private static function explodeResourceComponent($resource) { return preg_split("/[\/:]/", $resource); } }