@effect-aws/client-firehose 1.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/Errors/package.json +6 -0
  2. package/FirehoseClientInstance/package.json +6 -0
  3. package/FirehoseService/package.json +6 -0
  4. package/FirehoseServiceConfig/package.json +6 -0
  5. package/LICENSE +19 -0
  6. package/README.md +58 -0
  7. package/dist/cjs/Errors.d.ts +15 -0
  8. package/dist/cjs/Errors.d.ts.map +1 -0
  9. package/dist/cjs/Errors.js +16 -0
  10. package/dist/cjs/Errors.js.map +1 -0
  11. package/dist/cjs/FirehoseClientInstance.d.ts +24 -0
  12. package/dist/cjs/FirehoseClientInstance.d.ts.map +1 -0
  13. package/dist/cjs/FirehoseClientInstance.js +50 -0
  14. package/dist/cjs/FirehoseClientInstance.js.map +1 -0
  15. package/dist/cjs/FirehoseService.d.ts +89 -0
  16. package/dist/cjs/FirehoseService.d.ts.map +1 -0
  17. package/dist/cjs/FirehoseService.js +71 -0
  18. package/dist/cjs/FirehoseService.js.map +1 -0
  19. package/dist/cjs/FirehoseServiceConfig.d.ts +25 -0
  20. package/dist/cjs/FirehoseServiceConfig.d.ts.map +1 -0
  21. package/dist/cjs/FirehoseServiceConfig.js +35 -0
  22. package/dist/cjs/FirehoseServiceConfig.js.map +1 -0
  23. package/dist/cjs/index.d.ts +39 -0
  24. package/dist/cjs/index.d.ts.map +1 -0
  25. package/dist/cjs/index.js +56 -0
  26. package/dist/cjs/index.js.map +1 -0
  27. package/dist/dts/Errors.d.ts +15 -0
  28. package/dist/dts/Errors.d.ts.map +1 -0
  29. package/dist/dts/FirehoseClientInstance.d.ts +24 -0
  30. package/dist/dts/FirehoseClientInstance.d.ts.map +1 -0
  31. package/dist/dts/FirehoseService.d.ts +89 -0
  32. package/dist/dts/FirehoseService.d.ts.map +1 -0
  33. package/dist/dts/FirehoseServiceConfig.d.ts +25 -0
  34. package/dist/dts/FirehoseServiceConfig.d.ts.map +1 -0
  35. package/dist/dts/index.d.ts +39 -0
  36. package/dist/dts/index.d.ts.map +1 -0
  37. package/dist/esm/Errors.js +13 -0
  38. package/dist/esm/Errors.js.map +1 -0
  39. package/dist/esm/FirehoseClientInstance.js +23 -0
  40. package/dist/esm/FirehoseClientInstance.js.map +1 -0
  41. package/dist/esm/FirehoseService.js +44 -0
  42. package/dist/esm/FirehoseService.js.map +1 -0
  43. package/dist/esm/FirehoseServiceConfig.js +31 -0
  44. package/dist/esm/FirehoseServiceConfig.js.map +1 -0
  45. package/dist/esm/index.js +27 -0
  46. package/dist/esm/index.js.map +1 -0
  47. package/dist/esm/package.json +4 -0
  48. package/package.json +71 -0
  49. package/src/Errors.ts +35 -0
  50. package/src/FirehoseClientInstance.ts +33 -0
  51. package/src/FirehoseService.ts +281 -0
  52. package/src/FirehoseServiceConfig.ts +52 -0
  53. package/src/index.ts +44 -0
@@ -0,0 +1,281 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import {
5
+ CreateDeliveryStreamCommand,
6
+ type CreateDeliveryStreamCommandInput,
7
+ type CreateDeliveryStreamCommandOutput,
8
+ DeleteDeliveryStreamCommand,
9
+ type DeleteDeliveryStreamCommandInput,
10
+ type DeleteDeliveryStreamCommandOutput,
11
+ DescribeDeliveryStreamCommand,
12
+ type DescribeDeliveryStreamCommandInput,
13
+ type DescribeDeliveryStreamCommandOutput,
14
+ type FirehoseClient,
15
+ type FirehoseClientConfig,
16
+ ListDeliveryStreamsCommand,
17
+ type ListDeliveryStreamsCommandInput,
18
+ type ListDeliveryStreamsCommandOutput,
19
+ ListTagsForDeliveryStreamCommand,
20
+ type ListTagsForDeliveryStreamCommandInput,
21
+ type ListTagsForDeliveryStreamCommandOutput,
22
+ PutRecordBatchCommand,
23
+ type PutRecordBatchCommandInput,
24
+ type PutRecordBatchCommandOutput,
25
+ PutRecordCommand,
26
+ type PutRecordCommandInput,
27
+ type PutRecordCommandOutput,
28
+ StartDeliveryStreamEncryptionCommand,
29
+ type StartDeliveryStreamEncryptionCommandInput,
30
+ type StartDeliveryStreamEncryptionCommandOutput,
31
+ StopDeliveryStreamEncryptionCommand,
32
+ type StopDeliveryStreamEncryptionCommandInput,
33
+ type StopDeliveryStreamEncryptionCommandOutput,
34
+ TagDeliveryStreamCommand,
35
+ type TagDeliveryStreamCommandInput,
36
+ type TagDeliveryStreamCommandOutput,
37
+ UntagDeliveryStreamCommand,
38
+ type UntagDeliveryStreamCommandInput,
39
+ type UntagDeliveryStreamCommandOutput,
40
+ UpdateDestinationCommand,
41
+ type UpdateDestinationCommandInput,
42
+ type UpdateDestinationCommandOutput,
43
+ } from "@aws-sdk/client-firehose";
44
+ import type { HttpHandlerOptions, SdkError, ServiceLogger } from "@effect-aws/commons";
45
+ import { Service } from "@effect-aws/commons";
46
+ import { Effect, Layer } from "effect";
47
+ import type {
48
+ ConcurrentModificationError,
49
+ InvalidArgumentError,
50
+ InvalidKMSResourceError,
51
+ InvalidSourceError,
52
+ LimitExceededError,
53
+ ResourceInUseError,
54
+ ResourceNotFoundError,
55
+ ServiceUnavailableError,
56
+ } from "./Errors.js";
57
+ import { AllServiceErrors } from "./Errors.js";
58
+ import * as Instance from "./FirehoseClientInstance.js";
59
+ import * as FirehoseServiceConfig from "./FirehoseServiceConfig.js";
60
+
61
+ const commands = {
62
+ CreateDeliveryStreamCommand,
63
+ DeleteDeliveryStreamCommand,
64
+ DescribeDeliveryStreamCommand,
65
+ ListDeliveryStreamsCommand,
66
+ ListTagsForDeliveryStreamCommand,
67
+ PutRecordCommand,
68
+ PutRecordBatchCommand,
69
+ StartDeliveryStreamEncryptionCommand,
70
+ StopDeliveryStreamEncryptionCommand,
71
+ TagDeliveryStreamCommand,
72
+ UntagDeliveryStreamCommand,
73
+ UpdateDestinationCommand,
74
+ };
75
+
76
+ interface FirehoseService$ {
77
+ readonly _: unique symbol;
78
+
79
+ /**
80
+ * @see {@link CreateDeliveryStreamCommand}
81
+ */
82
+ createDeliveryStream(
83
+ args: CreateDeliveryStreamCommandInput,
84
+ options?: HttpHandlerOptions,
85
+ ): Effect.Effect<
86
+ CreateDeliveryStreamCommandOutput,
87
+ SdkError | InvalidArgumentError | InvalidKMSResourceError | LimitExceededError | ResourceInUseError
88
+ >;
89
+
90
+ /**
91
+ * @see {@link DeleteDeliveryStreamCommand}
92
+ */
93
+ deleteDeliveryStream(
94
+ args: DeleteDeliveryStreamCommandInput,
95
+ options?: HttpHandlerOptions,
96
+ ): Effect.Effect<
97
+ DeleteDeliveryStreamCommandOutput,
98
+ SdkError | ResourceInUseError | ResourceNotFoundError
99
+ >;
100
+
101
+ /**
102
+ * @see {@link DescribeDeliveryStreamCommand}
103
+ */
104
+ describeDeliveryStream(
105
+ args: DescribeDeliveryStreamCommandInput,
106
+ options?: HttpHandlerOptions,
107
+ ): Effect.Effect<
108
+ DescribeDeliveryStreamCommandOutput,
109
+ SdkError | ResourceNotFoundError
110
+ >;
111
+
112
+ /**
113
+ * @see {@link ListDeliveryStreamsCommand}
114
+ */
115
+ listDeliveryStreams(
116
+ args: ListDeliveryStreamsCommandInput,
117
+ options?: HttpHandlerOptions,
118
+ ): Effect.Effect<
119
+ ListDeliveryStreamsCommandOutput,
120
+ SdkError
121
+ >;
122
+
123
+ /**
124
+ * @see {@link ListTagsForDeliveryStreamCommand}
125
+ */
126
+ listTagsForDeliveryStream(
127
+ args: ListTagsForDeliveryStreamCommandInput,
128
+ options?: HttpHandlerOptions,
129
+ ): Effect.Effect<
130
+ ListTagsForDeliveryStreamCommandOutput,
131
+ SdkError | InvalidArgumentError | LimitExceededError | ResourceNotFoundError
132
+ >;
133
+
134
+ /**
135
+ * @see {@link PutRecordCommand}
136
+ */
137
+ putRecord(
138
+ args: PutRecordCommandInput,
139
+ options?: HttpHandlerOptions,
140
+ ): Effect.Effect<
141
+ PutRecordCommandOutput,
142
+ | SdkError
143
+ | InvalidArgumentError
144
+ | InvalidKMSResourceError
145
+ | InvalidSourceError
146
+ | ResourceNotFoundError
147
+ | ServiceUnavailableError
148
+ >;
149
+
150
+ /**
151
+ * @see {@link PutRecordBatchCommand}
152
+ */
153
+ putRecordBatch(
154
+ args: PutRecordBatchCommandInput,
155
+ options?: HttpHandlerOptions,
156
+ ): Effect.Effect<
157
+ PutRecordBatchCommandOutput,
158
+ | SdkError
159
+ | InvalidArgumentError
160
+ | InvalidKMSResourceError
161
+ | InvalidSourceError
162
+ | ResourceNotFoundError
163
+ | ServiceUnavailableError
164
+ >;
165
+
166
+ /**
167
+ * @see {@link StartDeliveryStreamEncryptionCommand}
168
+ */
169
+ startDeliveryStreamEncryption(
170
+ args: StartDeliveryStreamEncryptionCommandInput,
171
+ options?: HttpHandlerOptions,
172
+ ): Effect.Effect<
173
+ StartDeliveryStreamEncryptionCommandOutput,
174
+ | SdkError
175
+ | InvalidArgumentError
176
+ | InvalidKMSResourceError
177
+ | LimitExceededError
178
+ | ResourceInUseError
179
+ | ResourceNotFoundError
180
+ >;
181
+
182
+ /**
183
+ * @see {@link StopDeliveryStreamEncryptionCommand}
184
+ */
185
+ stopDeliveryStreamEncryption(
186
+ args: StopDeliveryStreamEncryptionCommandInput,
187
+ options?: HttpHandlerOptions,
188
+ ): Effect.Effect<
189
+ StopDeliveryStreamEncryptionCommandOutput,
190
+ SdkError | InvalidArgumentError | LimitExceededError | ResourceInUseError | ResourceNotFoundError
191
+ >;
192
+
193
+ /**
194
+ * @see {@link TagDeliveryStreamCommand}
195
+ */
196
+ tagDeliveryStream(
197
+ args: TagDeliveryStreamCommandInput,
198
+ options?: HttpHandlerOptions,
199
+ ): Effect.Effect<
200
+ TagDeliveryStreamCommandOutput,
201
+ SdkError | InvalidArgumentError | LimitExceededError | ResourceInUseError | ResourceNotFoundError
202
+ >;
203
+
204
+ /**
205
+ * @see {@link UntagDeliveryStreamCommand}
206
+ */
207
+ untagDeliveryStream(
208
+ args: UntagDeliveryStreamCommandInput,
209
+ options?: HttpHandlerOptions,
210
+ ): Effect.Effect<
211
+ UntagDeliveryStreamCommandOutput,
212
+ SdkError | InvalidArgumentError | LimitExceededError | ResourceInUseError | ResourceNotFoundError
213
+ >;
214
+
215
+ /**
216
+ * @see {@link UpdateDestinationCommand}
217
+ */
218
+ updateDestination(
219
+ args: UpdateDestinationCommandInput,
220
+ options?: HttpHandlerOptions,
221
+ ): Effect.Effect<
222
+ UpdateDestinationCommandOutput,
223
+ SdkError | ConcurrentModificationError | InvalidArgumentError | ResourceInUseError | ResourceNotFoundError
224
+ >;
225
+ }
226
+
227
+ /**
228
+ * @since 1.0.0
229
+ * @category constructors
230
+ */
231
+ export const makeFirehoseService = Effect.gen(function*() {
232
+ const client = yield* Instance.FirehoseClientInstance;
233
+
234
+ return Service.fromClientAndCommands<FirehoseService$>(
235
+ client,
236
+ commands,
237
+ {
238
+ errorTags: AllServiceErrors,
239
+ resolveClientConfig: FirehoseServiceConfig.toFirehoseClientConfig,
240
+ },
241
+ );
242
+ });
243
+
244
+ /**
245
+ * @since 1.0.0
246
+ * @category models
247
+ */
248
+ export class FirehoseService extends Effect.Tag("@effect-aws/client-firehose/FirehoseService")<
249
+ FirehoseService,
250
+ FirehoseService$
251
+ >() {
252
+ static readonly defaultLayer = Layer.effect(this, makeFirehoseService).pipe(Layer.provide(Instance.layer));
253
+ static readonly layer = (config: FirehoseService.Config) =>
254
+ Layer.effect(this, makeFirehoseService).pipe(
255
+ Layer.provide(Instance.layer),
256
+ Layer.provide(FirehoseServiceConfig.setFirehoseServiceConfig(config)),
257
+ );
258
+ static readonly baseLayer = (
259
+ evaluate: (defaultConfig: FirehoseClientConfig) => FirehoseClient,
260
+ ) =>
261
+ Layer.effect(this, makeFirehoseService).pipe(
262
+ Layer.provide(
263
+ Layer.effect(
264
+ Instance.FirehoseClientInstance,
265
+ Effect.map(FirehoseServiceConfig.toFirehoseClientConfig, evaluate),
266
+ ),
267
+ ),
268
+ );
269
+ }
270
+
271
+ /**
272
+ * @since 1.0.0
273
+ */
274
+ export declare namespace FirehoseService {
275
+ /**
276
+ * @since 1.0.0
277
+ */
278
+ export interface Config extends Omit<FirehoseClientConfig, "logger"> {
279
+ readonly logger?: ServiceLogger.ServiceLoggerConstructorProps | true;
280
+ }
281
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { FirehoseClientConfig } from "@aws-sdk/client-firehose";
5
+ import { ServiceLogger } from "@effect-aws/commons";
6
+ import { Effect, FiberRef, Layer } from "effect";
7
+ import { dual } from "effect/Function";
8
+ import { globalValue } from "effect/GlobalValue";
9
+ import type { FirehoseService } from "./FirehoseService.js";
10
+
11
+ /**
12
+ * @since 1.0.0
13
+ * @category firehose service config
14
+ */
15
+ const currentFirehoseServiceConfig = globalValue(
16
+ "@effect-aws/client-firehose/currentFirehoseServiceConfig",
17
+ () => FiberRef.unsafeMake<FirehoseService.Config>({}),
18
+ );
19
+
20
+ /**
21
+ * @since 1.0.0
22
+ * @category firehose service config
23
+ */
24
+ export const withFirehoseServiceConfig: {
25
+ (config: FirehoseService.Config): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
26
+ <A, E, R>(effect: Effect.Effect<A, E, R>, config: FirehoseService.Config): Effect.Effect<A, E, R>;
27
+ } = dual(
28
+ 2,
29
+ <A, E, R>(effect: Effect.Effect<A, E, R>, config: FirehoseService.Config): Effect.Effect<A, E, R> =>
30
+ Effect.locally(effect, currentFirehoseServiceConfig, config),
31
+ );
32
+
33
+ /**
34
+ * @since 1.0.0
35
+ * @category firehose service config
36
+ */
37
+ export const setFirehoseServiceConfig = (config: FirehoseService.Config) =>
38
+ Layer.locallyScoped(currentFirehoseServiceConfig, config);
39
+
40
+ /**
41
+ * @since 1.0.0
42
+ * @category adapters
43
+ */
44
+ export const toFirehoseClientConfig: Effect.Effect<FirehoseClientConfig> = Effect.gen(function*() {
45
+ const { logger: serviceLogger, ...config } = yield* FiberRef.get(currentFirehoseServiceConfig);
46
+
47
+ const logger = serviceLogger === true
48
+ ? yield* ServiceLogger.toClientLogger(ServiceLogger.defaultServiceLogger)
49
+ : (serviceLogger ? yield* ServiceLogger.toClientLogger(ServiceLogger.make(serviceLogger)) : undefined);
50
+
51
+ return { logger, ...config };
52
+ });
package/src/index.ts ADDED
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { FirehoseService } from "./FirehoseService.js";
5
+
6
+ /**
7
+ * @since 1.0.0
8
+ */
9
+ export * from "./Errors.js";
10
+
11
+ /**
12
+ * @since 1.0.0
13
+ */
14
+ export * as FirehoseClientInstance from "./FirehoseClientInstance.js";
15
+
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export * as FirehoseServiceConfig from "./FirehoseServiceConfig.js";
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ */
24
+ export * from "./FirehoseService.js";
25
+
26
+ /**
27
+ * @since 1.0.0
28
+ * @category exports
29
+ * @alias FirehoseService
30
+ */
31
+ export declare namespace Firehose {
32
+ /**
33
+ * @since 1.0.0
34
+ * @alias FirehoseService.Config
35
+ */
36
+ export type Config = FirehoseService.Config;
37
+ }
38
+
39
+ /**
40
+ * @since 1.0.0
41
+ * @category exports
42
+ * @alias FirehoseService
43
+ */
44
+ export const Firehose = FirehoseService;