22
22
23
23
class AsyncAwsExtension extends Extension
24
24
{
25
+ /**
26
+ * @param mixed[] $configs
27
+ */
25
28
public function load (array $ configs , ContainerBuilder $ container ): void
26
29
{
27
30
$ configuration = new Configuration ();
@@ -33,6 +36,33 @@ public function load(array $configs, ContainerBuilder $container): void
33
36
$ this ->autowireServices ($ container , $ usedServices );
34
37
}
35
38
39
+ /**
40
+ * @param array{
41
+ * register_service: bool,
42
+ * logger?: string|null,
43
+ * http_client?: string|null,
44
+ * credential_provider: string|null,
45
+ * credential_provider_cache: string|null,
46
+ * config: array<string, mixed>,
47
+ * secrets: array{
48
+ * enabled: bool,
49
+ * client: string|null,
50
+ * path: string|null,
51
+ * recursive: bool,
52
+ * cache: array{enabled: bool, pool: string, ttl: int},
53
+ * },
54
+ * clients: array<string, array{
55
+ * type: string,
56
+ * register_service: bool,
57
+ * logger?: string|null,
58
+ * http_client?: string|null,
59
+ * credential_provider: string|null,
60
+ * config: array<string, mixed>,
61
+ * }>,
62
+ * } $config
63
+ *
64
+ * @return array<string, string|null>
65
+ */
36
66
private function registerConfiguredServices (ContainerBuilder $ container , array $ config ): array
37
67
{
38
68
$ availableServices = AwsPackagesProvider::getAllServices ();
@@ -59,6 +89,20 @@ private function registerConfiguredServices(ContainerBuilder $container, array $
59
89
return $ usedServices ;
60
90
}
61
91
92
+ /**
93
+ * @param array{
94
+ * register_service: bool,
95
+ * clients: array<string, mixed>,
96
+ * logger?: string|null,
97
+ * http_client?: string|null,
98
+ * credential_provider: string|null,
99
+ * credential_provider_cache: string|null,
100
+ * config: array<string, mixed>,
101
+ * } $config
102
+ * @param array<string, string|null> $usedServices
103
+ *
104
+ * @return array<string, string|null>
105
+ */
62
106
private function registerInstalledServices (ContainerBuilder $ container , array $ config , array $ usedServices ): array
63
107
{
64
108
if (!$ config ['register_service ' ]) {
@@ -84,6 +128,17 @@ private function registerInstalledServices(ContainerBuilder $container, array $c
84
128
return $ usedServices ;
85
129
}
86
130
131
+ /**
132
+ * @param array{
133
+ * register_service: bool,
134
+ * logger?: string|null,
135
+ * http_client?: string|null,
136
+ * credential_provider: string|null,
137
+ * credential_provider_cache: string|null,
138
+ * config: array<string, mixed>,
139
+ * ...
140
+ * } $config
141
+ */
87
142
private function addServiceDefinition (ContainerBuilder $ container , string $ name , array $ config , string $ clientClass ): void
88
143
{
89
144
if (\array_key_exists ('logger ' , $ config )) {
@@ -147,6 +202,24 @@ private function addServiceDefinition(ContainerBuilder $container, string $name,
147
202
$ container ->setDefinition (sprintf ('async_aws.client.%s ' , $ name ), $ definition );
148
203
}
149
204
205
+ /**
206
+ * @param array{
207
+ * register_service: bool,
208
+ * logger?: string|null,
209
+ * http_client?: string|null,
210
+ * credential_provider: string|null,
211
+ * credential_provider_cache: string|null,
212
+ * config: array<string, mixed>,
213
+ * secrets: array{
214
+ * enabled: bool,
215
+ * client: string|null,
216
+ * path: string|null,
217
+ * recursive: bool,
218
+ * cache: array{enabled: bool, pool: string, ttl: int},
219
+ * },
220
+ * clients: array<string, array{type: string, ...}>,
221
+ * } $config
222
+ */
150
223
private function registerEnvLoader (ContainerBuilder $ container , array $ config ): void
151
224
{
152
225
if (!$ config ['secrets ' ]['enabled ' ]) {
@@ -201,6 +274,9 @@ private function registerEnvLoader(ContainerBuilder $container, array $config):
201
274
}
202
275
}
203
276
277
+ /**
278
+ * @param array<string, string|null> $usedServices
279
+ */
204
280
private function autowireServices (ContainerBuilder $ container , array $ usedServices ): void
205
281
{
206
282
$ awsServices = AwsPackagesProvider::getAllServices ();
0 commit comments