2019-02-20 11:24:22 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Bluesquare\StorageBundle\DependencyInjection;
|
|
|
|
|
|
|
|
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
|
|
|
|
use Symfony\Component\Config\Definition\ConfigurationInterface;
|
|
|
|
|
|
|
|
class Configuration implements ConfigurationInterface
|
|
|
|
{
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Generates the configuration tree builder.
|
|
|
|
*
|
|
|
|
* @return \Symfony\Component\Config\Definition\Builder\TreeBuilder The tree builder
|
|
|
|
*/
|
|
|
|
public function getConfigTreeBuilder()
|
|
|
|
{
|
|
|
|
$treeBuilder = new TreeBuilder();
|
2019-02-20 11:36:46 +01:00
|
|
|
$root = $treeBuilder->root('storage');
|
2019-02-20 11:54:31 +01:00
|
|
|
$root->useAttributeAsKey('storage_name')
|
2019-02-20 11:56:20 +01:00
|
|
|
->prototype('array')
|
2019-02-20 11:56:34 +01:00
|
|
|
->children()
|
2019-02-20 13:04:35 +01:00
|
|
|
->scalarNode('type')->isRequired()->cannotBeEmpty()->end()
|
2019-02-20 12:53:07 +01:00
|
|
|
->scalarNode('bucket')->end()
|
2019-02-21 13:20:53 +01:00
|
|
|
->scalarNode('bucket_url')->end()
|
2019-02-20 12:53:07 +01:00
|
|
|
->scalarNode('region')->end()
|
|
|
|
->scalarNode('endpoint')->end()
|
2019-02-20 12:44:52 +01:00
|
|
|
->arrayNode('credentials')
|
2019-02-20 11:59:30 +01:00
|
|
|
->children()
|
2019-02-20 12:53:07 +01:00
|
|
|
->scalarNode('key')->end()
|
|
|
|
->scalarNode('secret')->end()
|
2019-02-20 11:59:30 +01:00
|
|
|
->end()
|
|
|
|
->end()
|
|
|
|
->scalarNode('version')->end()
|
|
|
|
->scalarNode('path')->end()
|
2019-02-20 11:56:34 +01:00
|
|
|
->end()
|
2019-02-20 11:40:36 +01:00
|
|
|
->end()
|
|
|
|
->end();
|
2019-02-20 11:24:22 +01:00
|
|
|
return ($treeBuilder);
|
|
|
|
}
|
|
|
|
}
|