@effect-aws/client-opensearch-serverless 1.1.0 → 1.9.0

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 (69) hide show
  1. package/Errors/package.json +6 -0
  2. package/LICENSE +1 -1
  3. package/OpenSearchServerlessClientInstance/package.json +6 -0
  4. package/OpenSearchServerlessService/package.json +6 -0
  5. package/OpenSearchServerlessServiceConfig/package.json +6 -0
  6. package/{lib → dist/cjs}/Errors.d.ts +6 -11
  7. package/dist/cjs/Errors.d.ts.map +1 -0
  8. package/dist/cjs/Errors.js +14 -0
  9. package/dist/cjs/Errors.js.map +1 -0
  10. package/dist/cjs/OpenSearchServerlessClientInstance.d.ts +24 -0
  11. package/dist/cjs/OpenSearchServerlessClientInstance.d.ts.map +1 -0
  12. package/dist/cjs/OpenSearchServerlessClientInstance.js +50 -0
  13. package/dist/cjs/OpenSearchServerlessClientInstance.js.map +1 -0
  14. package/{lib → dist/cjs}/OpenSearchServerlessService.d.ts +16 -38
  15. package/dist/cjs/OpenSearchServerlessService.d.ts.map +1 -0
  16. package/dist/cjs/OpenSearchServerlessService.js +93 -0
  17. package/dist/cjs/OpenSearchServerlessService.js.map +1 -0
  18. package/dist/cjs/OpenSearchServerlessServiceConfig.d.ts +25 -0
  19. package/dist/cjs/OpenSearchServerlessServiceConfig.d.ts.map +1 -0
  20. package/dist/cjs/OpenSearchServerlessServiceConfig.js +35 -0
  21. package/dist/cjs/OpenSearchServerlessServiceConfig.js.map +1 -0
  22. package/dist/cjs/index.d.ts +39 -0
  23. package/dist/cjs/index.d.ts.map +1 -0
  24. package/dist/cjs/index.js +56 -0
  25. package/dist/cjs/index.js.map +1 -0
  26. package/dist/dts/Errors.d.ts +13 -0
  27. package/dist/dts/Errors.d.ts.map +1 -0
  28. package/dist/dts/OpenSearchServerlessClientInstance.d.ts +24 -0
  29. package/dist/dts/OpenSearchServerlessClientInstance.d.ts.map +1 -0
  30. package/dist/dts/OpenSearchServerlessService.d.ts +228 -0
  31. package/dist/dts/OpenSearchServerlessService.d.ts.map +1 -0
  32. package/dist/dts/OpenSearchServerlessServiceConfig.d.ts +25 -0
  33. package/dist/dts/OpenSearchServerlessServiceConfig.d.ts.map +1 -0
  34. package/dist/dts/index.d.ts +39 -0
  35. package/dist/dts/index.d.ts.map +1 -0
  36. package/dist/esm/Errors.js +11 -0
  37. package/dist/esm/Errors.js.map +1 -0
  38. package/dist/esm/OpenSearchServerlessClientInstance.js +23 -0
  39. package/dist/esm/OpenSearchServerlessClientInstance.js.map +1 -0
  40. package/dist/esm/OpenSearchServerlessService.js +66 -0
  41. package/dist/esm/OpenSearchServerlessService.js.map +1 -0
  42. package/dist/esm/OpenSearchServerlessServiceConfig.js +31 -0
  43. package/dist/esm/OpenSearchServerlessServiceConfig.js.map +1 -0
  44. package/dist/esm/index.js +27 -0
  45. package/dist/esm/index.js.map +1 -0
  46. package/dist/esm/package.json +4 -0
  47. package/package.json +60 -43
  48. package/src/Errors.ts +29 -0
  49. package/src/OpenSearchServerlessClientInstance.ts +33 -0
  50. package/src/OpenSearchServerlessService.ts +636 -0
  51. package/src/OpenSearchServerlessServiceConfig.ts +54 -0
  52. package/src/index.ts +44 -0
  53. package/CHANGELOG.md +0 -19
  54. package/docgen.json +0 -8
  55. package/lib/Errors.js +0 -14
  56. package/lib/OpenSearchServerlessClientInstance.d.ts +0 -31
  57. package/lib/OpenSearchServerlessClientInstance.js +0 -57
  58. package/lib/OpenSearchServerlessClientInstanceConfig.d.ts +0 -23
  59. package/lib/OpenSearchServerlessClientInstanceConfig.js +0 -44
  60. package/lib/OpenSearchServerlessService.js +0 -125
  61. package/lib/esm/Errors.js +0 -11
  62. package/lib/esm/OpenSearchServerlessClientInstance.js +0 -30
  63. package/lib/esm/OpenSearchServerlessClientInstanceConfig.js +0 -40
  64. package/lib/esm/OpenSearchServerlessService.js +0 -121
  65. package/lib/esm/index.js +0 -5
  66. package/lib/index.d.ts +0 -4
  67. package/lib/index.js +0 -21
  68. package/project.json +0 -77
  69. package/vitest.config.ts +0 -3
package/src/index.ts ADDED
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { OpenSearchServerlessService } from "./OpenSearchServerlessService.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 OpenSearchServerlessClientInstance from "./OpenSearchServerlessClientInstance.js";
15
+
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export * as OpenSearchServerlessServiceConfig from "./OpenSearchServerlessServiceConfig.js";
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ */
24
+ export * from "./OpenSearchServerlessService.js";
25
+
26
+ /**
27
+ * @since 1.0.0
28
+ * @category exports
29
+ * @alias OpenSearchServerlessService
30
+ */
31
+ export declare namespace OpenSearchServerless {
32
+ /**
33
+ * @since 1.0.0
34
+ * @alias OpenSearchServerlessService.Config
35
+ */
36
+ export type Config = OpenSearchServerlessService.Config;
37
+ }
38
+
39
+ /**
40
+ * @since 1.0.0
41
+ * @category exports
42
+ * @alias OpenSearchServerlessService
43
+ */
44
+ export const OpenSearchServerless = OpenSearchServerlessService;
package/CHANGELOG.md DELETED
@@ -1,19 +0,0 @@
1
- # @effect-aws/client-opensearch-serverless
2
-
3
- ## 1.1.0
4
-
5
- ### Minor Changes
6
-
7
- - [#80](https://github.com/floydspace/effect-aws/pull/80) [`4b16fbe`](https://github.com/floydspace/effect-aws/commit/4b16fbebce8131df7798ee92f43cf6b7df3e907c) Thanks [@floydspace](https://github.com/floydspace)! - simplify layers configuration (closes #78)
8
-
9
- ## 1.0.1
10
-
11
- ### Patch Changes
12
-
13
- - [#75](https://github.com/floydspace/effect-aws/pull/75) [`9dc170d`](https://github.com/floydspace/effect-aws/commit/9dc170d975c04888bbc7ca7b241b4b5265668fb5) Thanks [@godu](https://github.com/godu)! - export the HttpHandlerOptions type
14
-
15
- ## 1.0.0
16
-
17
- ### Major Changes
18
-
19
- - [#73](https://github.com/floydspace/effect-aws/pull/73) [`2ac5277`](https://github.com/floydspace/effect-aws/commit/2ac5277d6e3e4b5516c3b9aa05b568f120e5d984) Thanks [@godu](https://github.com/godu)! - implement opensearch & opensearchserverless clients
package/docgen.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/@effect/docgen/schema.json",
3
- "exclude": [
4
- "src/index.ts",
5
- "src/Errors.ts"
6
- ],
7
- "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
8
- }
package/lib/Errors.js DELETED
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdkError = exports.AllServiceErrors = void 0;
4
- const effect_1 = require("effect");
5
- exports.AllServiceErrors = [
6
- "ConflictException",
7
- "InternalServerException",
8
- "OcuLimitExceededException",
9
- "ResourceNotFoundException",
10
- "ServiceQuotaExceededException",
11
- "ValidationException",
12
- ];
13
- exports.SdkError = effect_1.Data.tagged("SdkError");
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxtQ0FBOEI7QUFFakIsUUFBQSxnQkFBZ0IsR0FBRztJQUM5QixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLHFCQUFxQjtDQUN0QixDQUFDO0FBZVcsUUFBQSxRQUFRLEdBQUcsYUFBSSxDQUFDLE1BQU0sQ0FBVyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ29uZmxpY3RFeGNlcHRpb24sXG4gIEludGVybmFsU2VydmVyRXhjZXB0aW9uLFxuICBPY3VMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uLFxuICBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLFxuICBTZXJ2aWNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbixcbiAgVmFsaWRhdGlvbkV4Y2VwdGlvbixcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcGVuc2VhcmNoc2VydmVybGVzc1wiO1xuaW1wb3J0IHsgRGF0YSB9IGZyb20gXCJlZmZlY3RcIjtcblxuZXhwb3J0IGNvbnN0IEFsbFNlcnZpY2VFcnJvcnMgPSBbXG4gIFwiQ29uZmxpY3RFeGNlcHRpb25cIixcbiAgXCJJbnRlcm5hbFNlcnZlckV4Y2VwdGlvblwiLFxuICBcIk9jdUxpbWl0RXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiU2VydmljZVF1b3RhRXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJWYWxpZGF0aW9uRXhjZXB0aW9uXCIsXG5dO1xuXG5leHBvcnQgdHlwZSBUYWdnZWRFeGNlcHRpb248VCBleHRlbmRzIHsgbmFtZTogc3RyaW5nIH0+ID0gVCAmIHtcbiAgcmVhZG9ubHkgX3RhZzogVFtcIm5hbWVcIl07XG59O1xuXG5leHBvcnQgdHlwZSBDb25mbGljdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPENvbmZsaWN0RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludGVybmFsU2VydmVyRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW50ZXJuYWxTZXJ2ZXJFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgT2N1TGltaXRFeGNlZWRlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPE9jdUxpbWl0RXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VOb3RGb3VuZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFJlc291cmNlTm90Rm91bmRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTZXJ2aWNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248VmFsaWRhdGlvbkV4Y2VwdGlvbj47XG5cbmV4cG9ydCB0eXBlIFNka0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEVycm9yICYgeyBuYW1lOiBcIlNka0Vycm9yXCIgfT47XG5leHBvcnQgY29uc3QgU2RrRXJyb3IgPSBEYXRhLnRhZ2dlZDxTZGtFcnJvcj4oXCJTZGtFcnJvclwiKTtcbiJdfQ==
@@ -1,31 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { OpenSearchServerlessClient } from "@aws-sdk/client-opensearchserverless";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { OpenSearchServerlessClientInstanceConfig } from "./OpenSearchServerlessClientInstanceConfig";
9
- declare const OpenSearchServerlessClientInstance_base: Context.TagClass<OpenSearchServerlessClientInstance, "@effect-aws/client-opensearch-serverless/OpenSearchServerlessClientInstance", OpenSearchServerlessClient>;
10
- /**
11
- * @since 1.0.0
12
- * @category tags
13
- */
14
- export declare class OpenSearchServerlessClientInstance extends OpenSearchServerlessClientInstance_base {
15
- }
16
- /**
17
- * @since 1.0.0
18
- * @category constructors
19
- */
20
- export declare const makeOpenSearchServerlessClientInstance: Effect.Effect<OpenSearchServerlessClient, never, OpenSearchServerlessClientInstanceConfig>;
21
- /**
22
- * @since 1.0.0
23
- * @category layers
24
- */
25
- export declare const OpenSearchServerlessClientInstanceLayer: Layer.Layer<OpenSearchServerlessClientInstance, never, OpenSearchServerlessClientInstanceConfig>;
26
- /**
27
- * @since 1.0.0
28
- * @category layers
29
- */
30
- export declare const DefaultOpenSearchServerlessClientInstanceLayer: Layer.Layer<OpenSearchServerlessClientInstance, never, never>;
31
- export {};
@@ -1,57 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.DefaultOpenSearchServerlessClientInstanceLayer = exports.OpenSearchServerlessClientInstanceLayer = exports.makeOpenSearchServerlessClientInstance = exports.OpenSearchServerlessClientInstance = void 0;
27
- /**
28
- * @since 1.0.0
29
- */
30
- const client_opensearchserverless_1 = require("@aws-sdk/client-opensearchserverless");
31
- const Context = __importStar(require("effect/Context"));
32
- const Effect = __importStar(require("effect/Effect"));
33
- const Layer = __importStar(require("effect/Layer"));
34
- const OpenSearchServerlessClientInstanceConfig_1 = require("./OpenSearchServerlessClientInstanceConfig");
35
- /**
36
- * @since 1.0.0
37
- * @category tags
38
- */
39
- class OpenSearchServerlessClientInstance extends Context.Tag("@effect-aws/client-opensearch-serverless/OpenSearchServerlessClientInstance")() {
40
- }
41
- exports.OpenSearchServerlessClientInstance = OpenSearchServerlessClientInstance;
42
- /**
43
- * @since 1.0.0
44
- * @category constructors
45
- */
46
- exports.makeOpenSearchServerlessClientInstance = Effect.map(OpenSearchServerlessClientInstanceConfig_1.OpenSearchServerlessClientInstanceConfig, (config) => new client_opensearchserverless_1.OpenSearchServerlessClient(config));
47
- /**
48
- * @since 1.0.0
49
- * @category layers
50
- */
51
- exports.OpenSearchServerlessClientInstanceLayer = Layer.effect(OpenSearchServerlessClientInstance, exports.makeOpenSearchServerlessClientInstance);
52
- /**
53
- * @since 1.0.0
54
- * @category layers
55
- */
56
- exports.DefaultOpenSearchServerlessClientInstanceLayer = exports.OpenSearchServerlessClientInstanceLayer.pipe(Layer.provide(OpenSearchServerlessClientInstanceConfig_1.DefaultOpenSearchServerlessClientConfigLayer));
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxzRkFBa0Y7QUFDbEYsd0RBQTBDO0FBQzFDLHNEQUF3QztBQUN4QyxvREFBc0M7QUFDdEMseUdBR29EO0FBRXBEOzs7R0FHRztBQUNILE1BQWEsa0NBQW1DLFNBQVEsT0FBTyxDQUFDLEdBQUcsQ0FDakUsNkVBQTZFLENBQzlFLEVBQWtFO0NBQUc7QUFGdEUsZ0ZBRXNFO0FBRXRFOzs7R0FHRztBQUNVLFFBQUEsc0NBQXNDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FDOUQsbUZBQXdDLEVBQ3hDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLHdEQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUNuRCxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSx1Q0FBdUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNqRSxrQ0FBa0MsRUFDbEMsOENBQXNDLENBQ3ZDLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLDhDQUE4QyxHQUN6RCwrQ0FBdUMsQ0FBQyxJQUFJLENBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsdUZBQTRDLENBQUMsQ0FDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKi9cbmltcG9ydCB7IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcGVuc2VhcmNoc2VydmVybGVzc1wiO1xuaW1wb3J0ICogYXMgQ29udGV4dCBmcm9tIFwiZWZmZWN0L0NvbnRleHRcIjtcbmltcG9ydCAqIGFzIEVmZmVjdCBmcm9tIFwiZWZmZWN0L0VmZmVjdFwiO1xuaW1wb3J0ICogYXMgTGF5ZXIgZnJvbSBcImVmZmVjdC9MYXllclwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG59IGZyb20gXCIuL09wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWdcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSB0YWdzXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlIGV4dGVuZHMgQ29udGV4dC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LW9wZW5zZWFyY2gtc2VydmVybGVzcy9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlXCIsXG4pPE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UsIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50PigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSA9IEVmZmVjdC5tYXAoXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIChjb25maWcpID0+IG5ldyBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudChjb25maWcpLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSxcbiAgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UsXG4pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllciA9XG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnTGF5ZXIpLFxuICApO1xuIl19
@@ -1,23 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import type { OpenSearchServerlessClientConfig } from "@aws-sdk/client-opensearchserverless";
5
- import { Context, Effect, Layer } from "effect";
6
- declare const OpenSearchServerlessClientInstanceConfig_base: Context.TagClass<OpenSearchServerlessClientInstanceConfig, "@effect-aws/client-opensearch-serverless/OpenSearchServerlessClientInstanceConfig", OpenSearchServerlessClientConfig>;
7
- /**
8
- * @since 1.0.0
9
- * @category tags
10
- */
11
- export declare class OpenSearchServerlessClientInstanceConfig extends OpenSearchServerlessClientInstanceConfig_base {
12
- }
13
- /**
14
- * @since 1.0.0
15
- * @category constructors
16
- */
17
- export declare const makeDefaultOpenSearchServerlessClientInstanceConfig: Effect.Effect<OpenSearchServerlessClientConfig>;
18
- /**
19
- * @since 1.0.0
20
- * @category layers
21
- */
22
- export declare const DefaultOpenSearchServerlessClientConfigLayer: Layer.Layer<OpenSearchServerlessClientInstanceConfig, never, never>;
23
- export {};
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultOpenSearchServerlessClientConfigLayer = exports.makeDefaultOpenSearchServerlessClientInstanceConfig = exports.OpenSearchServerlessClientInstanceConfig = void 0;
4
- const effect_1 = require("effect");
5
- /**
6
- * @since 1.0.0
7
- * @category tags
8
- */
9
- class OpenSearchServerlessClientInstanceConfig extends effect_1.Context.Tag("@effect-aws/client-opensearch-serverless/OpenSearchServerlessClientInstanceConfig")() {
10
- }
11
- exports.OpenSearchServerlessClientInstanceConfig = OpenSearchServerlessClientInstanceConfig;
12
- /**
13
- * @since 1.0.0
14
- * @category constructors
15
- */
16
- exports.makeDefaultOpenSearchServerlessClientInstanceConfig = effect_1.Effect.gen(function* (_) {
17
- const runtime = yield* _(effect_1.Effect.runtime());
18
- const runSync = effect_1.Runtime.runSync(runtime);
19
- return {
20
- logger: {
21
- info(m) {
22
- effect_1.Effect.logInfo(m).pipe(runSync);
23
- },
24
- warn(m) {
25
- effect_1.Effect.logWarning(m).pipe(runSync);
26
- },
27
- error(m) {
28
- effect_1.Effect.logError(m).pipe(runSync);
29
- },
30
- debug(m) {
31
- effect_1.Effect.logDebug(m).pipe(runSync);
32
- },
33
- trace(m) {
34
- effect_1.Effect.logTrace(m).pipe(runSync);
35
- },
36
- },
37
- };
38
- });
39
- /**
40
- * @since 1.0.0
41
- * @category layers
42
- */
43
- exports.DefaultOpenSearchServerlessClientConfigLayer = effect_1.Layer.effect(OpenSearchServerlessClientInstanceConfig, exports.makeDefaultOpenSearchServerlessClientInstanceConfig);
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLG1DQUF5RDtBQUV6RDs7O0dBR0c7QUFDSCxNQUFhLHdDQUF5QyxTQUFRLGdCQUFPLENBQUMsR0FBRyxDQUN2RSxtRkFBbUYsQ0FDcEYsRUFHRTtDQUFHO0FBTE4sNEZBS007QUFFTjs7O0dBR0c7QUFDVSxRQUFBLG1EQUFtRCxHQUM5RCxlQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDckIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQU0sQ0FBQyxPQUFPLEVBQVMsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sT0FBTyxHQUFHLGdCQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxNQUFNLEVBQUU7WUFDTixJQUFJLENBQUMsQ0FBQztnQkFDSixlQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUM7Z0JBQ0osZUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLGVBQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxlQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsZUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUw7OztHQUdHO0FBQ1UsUUFBQSw0Q0FBNEMsR0FBRyxjQUFLLENBQUMsTUFBTSxDQUN0RSx3Q0FBd0MsRUFDeEMsMkRBQW1ELENBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgdHlwZSB7IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcGVuc2VhcmNoc2VydmVybGVzc1wiO1xuaW1wb3J0IHsgQ29udGV4dCwgRWZmZWN0LCBMYXllciwgUnVudGltZSB9IGZyb20gXCJlZmZlY3RcIjtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSB0YWdzXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnIGV4dGVuZHMgQ29udGV4dC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LW9wZW5zZWFyY2gtc2VydmVybGVzcy9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnXCIsXG4pPFxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZ1xuPigpIHt9XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWc6IEVmZmVjdC5FZmZlY3Q8T3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRDb25maWc+ID1cbiAgRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgICBjb25zdCBydW50aW1lID0geWllbGQqIF8oRWZmZWN0LnJ1bnRpbWU8bmV2ZXI+KCkpO1xuICAgIGNvbnN0IHJ1blN5bmMgPSBSdW50aW1lLnJ1blN5bmMocnVudGltZSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9nZ2VyOiB7XG4gICAgICAgIGluZm8obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dJbmZvKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIHdhcm4obSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dXYXJuaW5nKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRXJyb3IobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWcobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dEZWJ1ZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB0cmFjZShtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ1RyYWNlKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH0pO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGxheWVyc1xuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gIG1ha2VEZWZhdWx0T3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbik7XG4iXX0=
@@ -1,125 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DefaultOpenSearchServerlessServiceLayer = exports.OpenSearchServerlessServiceLayer = exports.BaseOpenSearchServerlessServiceLayer = exports.OpenSearchServerless = exports.OpenSearchServerlessService = exports.makeOpenSearchServerlessService = void 0;
5
- /**
6
- * @since 1.0.0
7
- */
8
- const client_opensearchserverless_1 = require("@aws-sdk/client-opensearchserverless");
9
- const effect_1 = require("effect");
10
- const Errors_1 = require("./Errors");
11
- const OpenSearchServerlessClientInstance_1 = require("./OpenSearchServerlessClientInstance");
12
- const OpenSearchServerlessClientInstanceConfig_1 = require("./OpenSearchServerlessClientInstanceConfig");
13
- const commands = {
14
- BatchGetCollectionCommand: client_opensearchserverless_1.BatchGetCollectionCommand,
15
- BatchGetEffectiveLifecyclePolicyCommand: client_opensearchserverless_1.BatchGetEffectiveLifecyclePolicyCommand,
16
- BatchGetLifecyclePolicyCommand: client_opensearchserverless_1.BatchGetLifecyclePolicyCommand,
17
- BatchGetVpcEndpointCommand: client_opensearchserverless_1.BatchGetVpcEndpointCommand,
18
- CreateAccessPolicyCommand: client_opensearchserverless_1.CreateAccessPolicyCommand,
19
- CreateCollectionCommand: client_opensearchserverless_1.CreateCollectionCommand,
20
- CreateLifecyclePolicyCommand: client_opensearchserverless_1.CreateLifecyclePolicyCommand,
21
- CreateSecurityConfigCommand: client_opensearchserverless_1.CreateSecurityConfigCommand,
22
- CreateSecurityPolicyCommand: client_opensearchserverless_1.CreateSecurityPolicyCommand,
23
- CreateVpcEndpointCommand: client_opensearchserverless_1.CreateVpcEndpointCommand,
24
- DeleteAccessPolicyCommand: client_opensearchserverless_1.DeleteAccessPolicyCommand,
25
- DeleteCollectionCommand: client_opensearchserverless_1.DeleteCollectionCommand,
26
- DeleteLifecyclePolicyCommand: client_opensearchserverless_1.DeleteLifecyclePolicyCommand,
27
- DeleteSecurityConfigCommand: client_opensearchserverless_1.DeleteSecurityConfigCommand,
28
- DeleteSecurityPolicyCommand: client_opensearchserverless_1.DeleteSecurityPolicyCommand,
29
- DeleteVpcEndpointCommand: client_opensearchserverless_1.DeleteVpcEndpointCommand,
30
- GetAccessPolicyCommand: client_opensearchserverless_1.GetAccessPolicyCommand,
31
- GetAccountSettingsCommand: client_opensearchserverless_1.GetAccountSettingsCommand,
32
- GetPoliciesStatsCommand: client_opensearchserverless_1.GetPoliciesStatsCommand,
33
- GetSecurityConfigCommand: client_opensearchserverless_1.GetSecurityConfigCommand,
34
- GetSecurityPolicyCommand: client_opensearchserverless_1.GetSecurityPolicyCommand,
35
- ListAccessPoliciesCommand: client_opensearchserverless_1.ListAccessPoliciesCommand,
36
- ListCollectionsCommand: client_opensearchserverless_1.ListCollectionsCommand,
37
- ListLifecyclePoliciesCommand: client_opensearchserverless_1.ListLifecyclePoliciesCommand,
38
- ListSecurityConfigsCommand: client_opensearchserverless_1.ListSecurityConfigsCommand,
39
- ListSecurityPoliciesCommand: client_opensearchserverless_1.ListSecurityPoliciesCommand,
40
- ListTagsForResourceCommand: client_opensearchserverless_1.ListTagsForResourceCommand,
41
- ListVpcEndpointsCommand: client_opensearchserverless_1.ListVpcEndpointsCommand,
42
- TagResourceCommand: client_opensearchserverless_1.TagResourceCommand,
43
- UntagResourceCommand: client_opensearchserverless_1.UntagResourceCommand,
44
- UpdateAccessPolicyCommand: client_opensearchserverless_1.UpdateAccessPolicyCommand,
45
- UpdateAccountSettingsCommand: client_opensearchserverless_1.UpdateAccountSettingsCommand,
46
- UpdateCollectionCommand: client_opensearchserverless_1.UpdateCollectionCommand,
47
- UpdateLifecyclePolicyCommand: client_opensearchserverless_1.UpdateLifecyclePolicyCommand,
48
- UpdateSecurityConfigCommand: client_opensearchserverless_1.UpdateSecurityConfigCommand,
49
- UpdateSecurityPolicyCommand: client_opensearchserverless_1.UpdateSecurityPolicyCommand,
50
- UpdateVpcEndpointCommand: client_opensearchserverless_1.UpdateVpcEndpointCommand,
51
- };
52
- /**
53
- * @since 1.0.0
54
- * @category constructors
55
- */
56
- exports.makeOpenSearchServerlessService = effect_1.Effect.gen(function* (_) {
57
- const client = yield* _(OpenSearchServerlessClientInstance_1.OpenSearchServerlessClientInstance);
58
- return effect_1.Record.toEntries(commands).reduce((acc, [command]) => {
59
- const CommandCtor = commands[command];
60
- const methodImpl = (args, options) => effect_1.Effect.tryPromise({
61
- try: (abortSignal) => client.send(new CommandCtor(args), {
62
- ...(options !== null && options !== void 0 ? options : {}),
63
- abortSignal,
64
- }),
65
- catch: (e) => {
66
- if (e instanceof client_opensearchserverless_1.OpenSearchServerlessServiceException &&
67
- Errors_1.AllServiceErrors.includes(e.name)) {
68
- const ServiceException = effect_1.Data.tagged(e.name);
69
- return ServiceException({
70
- ...e,
71
- message: e.message,
72
- stack: e.stack,
73
- });
74
- }
75
- if (e instanceof Error) {
76
- return (0, Errors_1.SdkError)({
77
- ...e,
78
- name: "SdkError",
79
- message: e.message,
80
- stack: e.stack,
81
- });
82
- }
83
- throw e;
84
- },
85
- });
86
- const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, "");
87
- return { ...acc, [methodName]: methodImpl };
88
- }, {});
89
- });
90
- /**
91
- * @since 1.0.0
92
- * @category models
93
- */
94
- class OpenSearchServerlessService extends effect_1.Effect.Tag("@effect-aws/client-opensearch-serverless/OpenSearchServerlessService")() {
95
- }
96
- exports.OpenSearchServerlessService = OpenSearchServerlessService;
97
- _a = OpenSearchServerlessService;
98
- OpenSearchServerlessService.defaultLayer = effect_1.Layer.effect(_a, exports.makeOpenSearchServerlessService).pipe(effect_1.Layer.provide(OpenSearchServerlessClientInstance_1.OpenSearchServerlessClientInstanceLayer), effect_1.Layer.provide(OpenSearchServerlessClientInstanceConfig_1.DefaultOpenSearchServerlessClientConfigLayer));
99
- OpenSearchServerlessService.layer = (config) => effect_1.Layer.effect(_a, exports.makeOpenSearchServerlessService).pipe(effect_1.Layer.provide(OpenSearchServerlessClientInstance_1.OpenSearchServerlessClientInstanceLayer), effect_1.Layer.provide(effect_1.Layer.effect(OpenSearchServerlessClientInstanceConfig_1.OpenSearchServerlessClientInstanceConfig, OpenSearchServerlessClientInstanceConfig_1.makeDefaultOpenSearchServerlessClientInstanceConfig.pipe(effect_1.Effect.map((defaultConfig) => ({ ...defaultConfig, ...config }))))));
100
- OpenSearchServerlessService.baseLayer = (evaluate) => effect_1.Layer.effect(_a, exports.makeOpenSearchServerlessService).pipe(effect_1.Layer.provide(effect_1.Layer.effect(OpenSearchServerlessClientInstance_1.OpenSearchServerlessClientInstance, effect_1.Effect.map(OpenSearchServerlessClientInstanceConfig_1.makeDefaultOpenSearchServerlessClientInstanceConfig, evaluate))));
101
- /**
102
- * @since 1.0.0
103
- * @category models
104
- * @alias OpenSearchServerlessService
105
- */
106
- exports.OpenSearchServerless = OpenSearchServerlessService;
107
- /**
108
- * @since 1.0.0
109
- * @category layers
110
- * @deprecated use OpenSearchServerless.baseLayer instead
111
- */
112
- exports.BaseOpenSearchServerlessServiceLayer = effect_1.Layer.effect(OpenSearchServerlessService, exports.makeOpenSearchServerlessService);
113
- /**
114
- * @since 1.0.0
115
- * @category layers
116
- * @deprecated use OpenSearchServerless.layer instead
117
- */
118
- exports.OpenSearchServerlessServiceLayer = exports.BaseOpenSearchServerlessServiceLayer.pipe(effect_1.Layer.provide(OpenSearchServerlessClientInstance_1.OpenSearchServerlessClientInstanceLayer));
119
- /**
120
- * @since 1.0.0
121
- * @category layers
122
- * @deprecated use OpenSearchServerless.defaultLayer instead
123
- */
124
- exports.DefaultOpenSearchServerlessServiceLayer = OpenSearchServerlessService.defaultLayer;
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL09wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0dBRUc7QUFDSCxzRkFtSDhDO0FBQzlDLG1DQUFxRDtBQUNyRCxxQ0FVa0I7QUFDbEIsNkZBRzhDO0FBQzlDLHlHQUlvRDtBQWFwRCxNQUFNLFFBQVEsR0FBRztJQUNmLHlCQUF5QixFQUF6Qix1REFBeUI7SUFDekIsdUNBQXVDLEVBQXZDLHFFQUF1QztJQUN2Qyw4QkFBOEIsRUFBOUIsNERBQThCO0lBQzlCLDBCQUEwQixFQUExQix3REFBMEI7SUFDMUIseUJBQXlCLEVBQXpCLHVEQUF5QjtJQUN6Qix1QkFBdUIsRUFBdkIscURBQXVCO0lBQ3ZCLDRCQUE0QixFQUE1QiwwREFBNEI7SUFDNUIsMkJBQTJCLEVBQTNCLHlEQUEyQjtJQUMzQiwyQkFBMkIsRUFBM0IseURBQTJCO0lBQzNCLHdCQUF3QixFQUF4QixzREFBd0I7SUFDeEIseUJBQXlCLEVBQXpCLHVEQUF5QjtJQUN6Qix1QkFBdUIsRUFBdkIscURBQXVCO0lBQ3ZCLDRCQUE0QixFQUE1QiwwREFBNEI7SUFDNUIsMkJBQTJCLEVBQTNCLHlEQUEyQjtJQUMzQiwyQkFBMkIsRUFBM0IseURBQTJCO0lBQzNCLHdCQUF3QixFQUF4QixzREFBd0I7SUFDeEIsc0JBQXNCLEVBQXRCLG9EQUFzQjtJQUN0Qix5QkFBeUIsRUFBekIsdURBQXlCO0lBQ3pCLHVCQUF1QixFQUF2QixxREFBdUI7SUFDdkIsd0JBQXdCLEVBQXhCLHNEQUF3QjtJQUN4Qix3QkFBd0IsRUFBeEIsc0RBQXdCO0lBQ3hCLHlCQUF5QixFQUF6Qix1REFBeUI7SUFDekIsc0JBQXNCLEVBQXRCLG9EQUFzQjtJQUN0Qiw0QkFBNEIsRUFBNUIsMERBQTRCO0lBQzVCLDBCQUEwQixFQUExQix3REFBMEI7SUFDMUIs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LDRFQUF1QyxDQUFDLENBQ3ZELENBQUM7QUFFSjs7OztHQUlHO0FBQ1UsUUFBQSx1Q0FBdUMsR0FDbEQsMkJBQTJCLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHtcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlRXhjZXB0aW9uLFxuICB0eXBlIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50LFxuICB0eXBlIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnLFxuICBCYXRjaEdldENvbGxlY3Rpb25Db21tYW5kLFxuICB0eXBlIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmRJbnB1dCxcbiAgdHlwZSBCYXRjaEdldENvbGxlY3Rpb25Db21tYW5kT3V0cHV0LFxuICBCYXRjaEdldEVmZmVjdGl2ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBCYXRjaEdldExpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZCxcbiAgdHlwZSBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICB0eXBlIEJhdGNoR2V0VnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICB0eXBlIENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVDb2xsZWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBDcmVhdGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIENyZWF0ZUNvbGxlY3Rpb25Db21tYW5kT3V0cHV0LFxuICBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIENyZWF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kT3V0cHV0LFxuICBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIERlbGV0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICBEZWxldGVTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBEZWxldGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICB0eXBlIEdldEFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kLFxuICB0eXBlIEdldEFjY291bnRTZXR0aW5nc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kT3V0cHV0LFxuICBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZCxcbiAgdHlwZSBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZElucHV0LFxuICB0eXBlIEdldFBvbGljaWVzU3RhdHNDb21tYW5kT3V0cHV0LFxuICBHZXRTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIHR5cGUgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgR2V0U2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RBY2Nlc3NQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0Q29sbGVjdGlvbnNDb21tYW5kLFxuICB0eXBlIExpc3RDb2xsZWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0Q29sbGVjdGlvbnNDb21tYW5kT3V0cHV0LFxuICBMaXN0TGlmZWN5Y2xlUG9saWNpZXNDb21tYW5kLFxuICB0eXBlIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBMaXN0TGlmZWN5Y2xlUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZCxcbiAgdHlwZSBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kT3V0cHV0LFxuICBMaXN0U2VjdXJpdHlQb2xpY2llc0NvbW1hbmQsXG4gIHR5cGUgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kSW5wdXQsXG4gIHR5cGUgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZCxcbiAgdHlwZSBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICB0eXBlIExpc3RWcGNFbmRwb2ludHNDb21tYW5kT3V0cHV0LFxuICBUYWdSZXNvdXJjZUNvbW1hbmQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kSW5wdXQsXG4gIHR5cGUgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgdHlwZSBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICB0eXBlIFVudGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVBY2NvdW50U2V0dGluZ3NDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVBY2NvdW50U2V0dGluZ3NDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVDb2xsZWN0aW9uQ29tbWFuZCxcbiAgdHlwZSBVcGRhdGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICB0eXBlIFVwZGF0ZUNvbGxlY3Rpb25Db21tYW5kT3V0cHV0LFxuICBVcGRhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICB0eXBlIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgdHlwZSBVcGRhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIHR5cGUgVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIHR5cGUgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gIHR5cGUgVXBkYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9wZW5zZWFyY2hzZXJ2ZXJsZXNzXCI7XG5pbXBvcnQgeyBEYXRhLCBFZmZlY3QsIExheWVyLCBSZWNvcmQgfSBmcm9tIFwiZWZmZWN0XCI7XG5pbXBvcnQge1xuICBBbGxTZXJ2aWNlRXJyb3JzLFxuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbFNlcnZlckVycm9yLFxuICBPY3VMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIFJlc291cmNlTm90Rm91bmRFcnJvcixcbiAgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvcixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICBTZGtFcnJvcixcbiAgVGFnZ2VkRXhjZXB0aW9uLFxufSBmcm9tIFwiLi9FcnJvcnNcIjtcbmltcG9ydCB7XG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UsXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllcixcbn0gZnJvbSBcIi4vT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZVwiO1xuaW1wb3J0IHtcbiAgRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnTGF5ZXIsXG4gIG1ha2VEZWZhdWx0T3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbn0gZnJvbSBcIi4vT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZ1wiO1xuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0aGF0IHRoZSBjb25uZWN0aW9uIHBoYXNlIG9mIGEgcmVxdWVzdFxuICAgKiBtYXkgdGFrZSBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCBpcyBhYmFuZG9uZWQuXG4gICAqL1xuICByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbn1cblxuY29uc3QgY29tbWFuZHMgPSB7XG4gIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmQsXG4gIEJhdGNoR2V0RWZmZWN0aXZlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZCxcbiAgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZCxcbiAgQ3JlYXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIENyZWF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIENyZWF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICBDcmVhdGVWcGNFbmRwb2ludENvbW1hbmQsXG4gIERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmQsXG4gIERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kLFxuICBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kLFxuICBEZWxldGVTZWN1cml0eUNvbmZpZ0NvbW1hbmQsXG4gIERlbGV0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZCxcbiAgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kLFxuICBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kLFxuICBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kLFxuICBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZCxcbiAgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kLFxuICBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmQsXG4gIExpc3RBY2Nlc3NQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RDb2xsZWN0aW9uc0NvbW1hbmQsXG4gIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kLFxuICBMaXN0U2VjdXJpdHlQb2xpY2llc0NvbW1hbmQsXG4gIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kLFxuICBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZCxcbiAgVGFnUmVzb3VyY2VDb21tYW5kLFxuICBVbnRhZ1Jlc291cmNlQ29tbWFuZCxcbiAgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZCxcbiAgVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZCxcbiAgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmQsXG4gIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmQsXG4gIFVwZGF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZCxcbiAgVXBkYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kLFxuICBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmQsXG59O1xuXG5pbnRlcmZhY2UgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlJCB7XG4gIHJlYWRvbmx5IF86IHVuaXF1ZSBzeW1ib2w7XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJhdGNoR2V0Q29sbGVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICBiYXRjaEdldENvbGxlY3Rpb24oXG4gICAgYXJnczogQmF0Y2hHZXRDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQmF0Y2hHZXRDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgYmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3koXG4gICAgYXJnczogQmF0Y2hHZXRFZmZlY3RpdmVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBCYXRjaEdldEVmZmVjdGl2ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5KFxuICAgIGFyZ3M6IEJhdGNoR2V0TGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQmF0Y2hHZXRMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBCYXRjaEdldFZwY0VuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGJhdGNoR2V0VnBjRW5kcG9pbnQoXG4gICAgYXJnczogQmF0Y2hHZXRWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEJhdGNoR2V0VnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVBY2Nlc3NQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQWNjZXNzUG9saWN5KFxuICAgIGFyZ3M6IENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZUFjY2Vzc1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZUNvbGxlY3Rpb25Db21tYW5kfVxuICAgKi9cbiAgY3JlYXRlQ29sbGVjdGlvbihcbiAgICBhcmdzOiBDcmVhdGVDb2xsZWN0aW9uQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlQ29sbGVjdGlvbkNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgT2N1TGltaXRFeGNlZWRlZEVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZUxpZmVjeWNsZVBvbGljeShcbiAgICBhcmdzOiBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICBjcmVhdGVTZWN1cml0eUNvbmZpZyhcbiAgICBhcmdzOiBDcmVhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIENyZWF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBTZXJ2aWNlUXVvdGFFeGNlZWRlZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgY3JlYXRlU2VjdXJpdHlQb2xpY3koXG4gICAgYXJnczogQ3JlYXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBDcmVhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZH1cbiAgICovXG4gIGNyZWF0ZVZwY0VuZHBvaW50KFxuICAgIGFyZ3M6IENyZWF0ZVZwY0VuZHBvaW50Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgQ3JlYXRlVnBjRW5kcG9pbnRDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVBY2Nlc3NQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlQWNjZXNzUG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUFjY2Vzc1BvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlQ29sbGVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICBkZWxldGVDb2xsZWN0aW9uKFxuICAgIGFyZ3M6IERlbGV0ZUNvbGxlY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBEZWxldGVMaWZlY3ljbGVQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlTGlmZWN5Y2xlUG9saWN5KFxuICAgIGFyZ3M6IERlbGV0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIERlbGV0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VjdXJpdHlDb25maWcoXG4gICAgYXJnczogRGVsZXRlU2VjdXJpdHlDb25maWdDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlU2VjdXJpdHlQb2xpY3koXG4gICAgYXJnczogRGVsZXRlU2VjdXJpdHlQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVTZWN1cml0eVBvbGljeUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kfVxuICAgKi9cbiAgZGVsZXRlVnBjRW5kcG9pbnQoXG4gICAgYXJnczogRGVsZXRlVnBjRW5kcG9pbnRDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBEZWxldGVWcGNFbmRwb2ludENvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgR2V0QWNjZXNzUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIGdldEFjY2Vzc1BvbGljeShcbiAgICBhcmdzOiBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBHZXRBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRBY2NvdW50U2V0dGluZ3NDb21tYW5kfVxuICAgKi9cbiAgZ2V0QWNjb3VudFNldHRpbmdzKFxuICAgIGFyZ3M6IEdldEFjY291bnRTZXR0aW5nc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldEFjY291bnRTZXR0aW5nc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFBvbGljaWVzU3RhdHNDb21tYW5kfVxuICAgKi9cbiAgZ2V0UG9saWNpZXNTdGF0cyhcbiAgICBhcmdzOiBHZXRQb2xpY2llc1N0YXRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0UG9saWNpZXNTdGF0c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZH1cbiAgICovXG4gIGdldFNlY3VyaXR5Q29uZmlnKFxuICAgIGFyZ3M6IEdldFNlY3VyaXR5Q29uZmlnQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgR2V0U2VjdXJpdHlDb25maWdDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFJlc291cmNlTm90Rm91bmRFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICBnZXRTZWN1cml0eVBvbGljeShcbiAgICBhcmdzOiBHZXRTZWN1cml0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIEdldFNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdEFjY2Vzc1BvbGljaWVzQ29tbWFuZH1cbiAgICovXG4gIGxpc3RBY2Nlc3NQb2xpY2llcyhcbiAgICBhcmdzOiBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0QWNjZXNzUG9saWNpZXNDb21tYW5kT3V0cHV0LFxuICAgIFNka0Vycm9yIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvciB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBMaXN0Q29sbGVjdGlvbnNDb21tYW5kfVxuICAgKi9cbiAgbGlzdENvbGxlY3Rpb25zKFxuICAgIGFyZ3M6IExpc3RDb2xsZWN0aW9uc0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIExpc3RDb2xsZWN0aW9uc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RMaWZlY3ljbGVQb2xpY2llc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0TGlmZWN5Y2xlUG9saWNpZXMoXG4gICAgYXJnczogTGlzdExpZmVjeWNsZVBvbGljaWVzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdExpZmVjeWNsZVBvbGljaWVzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3VyaXR5Q29uZmlnc0NvbW1hbmR9XG4gICAqL1xuICBsaXN0U2VjdXJpdHlDb25maWdzKFxuICAgIGFyZ3M6IExpc3RTZWN1cml0eUNvbmZpZ3NDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjdXJpdHlDb25maWdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFNlY3VyaXR5UG9saWNpZXMoXG4gICAgYXJnczogTGlzdFNlY3VyaXR5UG9saWNpZXNDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBMaXN0U2VjdXJpdHlQb2xpY2llc0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RUYWdzRm9yUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgbGlzdFRhZ3NGb3JSZXNvdXJjZShcbiAgICBhcmdzOiBMaXN0VGFnc0ZvclJlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIExpc3RWcGNFbmRwb2ludHNDb21tYW5kfVxuICAgKi9cbiAgbGlzdFZwY0VuZHBvaW50cyhcbiAgICBhcmdzOiBMaXN0VnBjRW5kcG9pbnRzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgTGlzdFZwY0VuZHBvaW50c0NvbW1hbmRPdXRwdXQsXG4gICAgU2RrRXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFRhZ1Jlc291cmNlQ29tbWFuZH1cbiAgICovXG4gIHRhZ1Jlc291cmNlKFxuICAgIGFyZ3M6IFRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVGFnUmVzb3VyY2VDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVudGFnUmVzb3VyY2VDb21tYW5kfVxuICAgKi9cbiAgdW50YWdSZXNvdXJjZShcbiAgICBhcmdzOiBVbnRhZ1Jlc291cmNlQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVW50YWdSZXNvdXJjZUNvbW1hbmRPdXRwdXQsXG4gICAgfCBTZGtFcnJvclxuICAgIHwgQ29uZmxpY3RFcnJvclxuICAgIHwgSW50ZXJuYWxTZXJ2ZXJFcnJvclxuICAgIHwgUmVzb3VyY2VOb3RGb3VuZEVycm9yXG4gICAgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQWNjZXNzUG9saWN5Q29tbWFuZH1cbiAgICovXG4gIHVwZGF0ZUFjY2Vzc1BvbGljeShcbiAgICBhcmdzOiBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVBY2Nlc3NQb2xpY3lDb21tYW5kT3V0cHV0LFxuICAgIHwgU2RrRXJyb3JcbiAgICB8IENvbmZsaWN0RXJyb3JcbiAgICB8IEludGVybmFsU2VydmVyRXJyb3JcbiAgICB8IFJlc291cmNlTm90Rm91bmRFcnJvclxuICAgIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUFjY291bnRTZXR0aW5nc0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVBY2NvdW50U2V0dGluZ3MoXG4gICAgYXJnczogVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlQWNjb3VudFNldHRpbmdzQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IEludGVybmFsU2VydmVyRXJyb3IgfCBWYWxpZGF0aW9uRXJyb3JcbiAgPjtcblxuICAvKipcbiAgICogQHNlZSB7QGxpbmsgVXBkYXRlQ29sbGVjdGlvbkNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVDb2xsZWN0aW9uKFxuICAgIGFyZ3M6IFVwZGF0ZUNvbGxlY3Rpb25Db21tYW5kSW5wdXQsXG4gICAgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucyxcbiAgKTogRWZmZWN0LkVmZmVjdDxcbiAgICBVcGRhdGVDb2xsZWN0aW9uQ29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENvbmZsaWN0RXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG5cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIFVwZGF0ZUxpZmVjeWNsZVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVMaWZlY3ljbGVQb2xpY3koXG4gICAgYXJnczogVXBkYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZElucHV0LFxuICAgIG9wdGlvbnM/OiBIdHRwSGFuZGxlck9wdGlvbnMsXG4gICk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgVXBkYXRlTGlmZWN5Y2xlUG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWN1cml0eUNvbmZpZyhcbiAgICBhcmdzOiBVcGRhdGVTZWN1cml0eUNvbmZpZ0NvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3VyaXR5Q29uZmlnQ29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVTZWN1cml0eVBvbGljeShcbiAgICBhcmdzOiBVcGRhdGVTZWN1cml0eVBvbGljeUNvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVNlY3VyaXR5UG9saWN5Q29tbWFuZE91dHB1dCxcbiAgICB8IFNka0Vycm9yXG4gICAgfCBDb25mbGljdEVycm9yXG4gICAgfCBJbnRlcm5hbFNlcnZlckVycm9yXG4gICAgfCBSZXNvdXJjZU5vdEZvdW5kRXJyb3JcbiAgICB8IFNlcnZpY2VRdW90YUV4Y2VlZGVkRXJyb3JcbiAgICB8IFZhbGlkYXRpb25FcnJvclxuICA+O1xuXG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmR9XG4gICAqL1xuICB1cGRhdGVWcGNFbmRwb2ludChcbiAgICBhcmdzOiBVcGRhdGVWcGNFbmRwb2ludENvbW1hbmRJbnB1dCxcbiAgICBvcHRpb25zPzogSHR0cEhhbmRsZXJPcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PFxuICAgIFVwZGF0ZVZwY0VuZHBvaW50Q29tbWFuZE91dHB1dCxcbiAgICBTZGtFcnJvciB8IENvbmZsaWN0RXJyb3IgfCBJbnRlcm5hbFNlcnZlckVycm9yIHwgVmFsaWRhdGlvbkVycm9yXG4gID47XG59XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgY29uc3RydWN0b3JzXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlID0gRWZmZWN0LmdlbihmdW5jdGlvbiogKF8pIHtcbiAgY29uc3QgY2xpZW50ID0geWllbGQqIF8oT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSk7XG5cbiAgcmV0dXJuIFJlY29yZC50b0VudHJpZXMoY29tbWFuZHMpLnJlZHVjZSgoYWNjLCBbY29tbWFuZF0pID0+IHtcbiAgICBjb25zdCBDb21tYW5kQ3RvciA9IGNvbW1hbmRzW2NvbW1hbmRdIGFzIGFueTtcbiAgICBjb25zdCBtZXRob2RJbXBsID0gKGFyZ3M6IGFueSwgb3B0aW9ucz86IEh0dHBIYW5kbGVyT3B0aW9ucykgPT5cbiAgICAgIEVmZmVjdC50cnlQcm9taXNlKHtcbiAgICAgICAgdHJ5OiAoYWJvcnRTaWduYWwpID0+XG4gICAgICAgICAgY2xpZW50LnNlbmQobmV3IENvbW1hbmRDdG9yKGFyZ3MpLCB7XG4gICAgICAgICAgICAuLi4ob3B0aW9ucyA/PyB7fSksXG4gICAgICAgICAgICBhYm9ydFNpZ25hbCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2g6IChlKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZUV4Y2VwdGlvbiAmJlxuICAgICAgICAgICAgQWxsU2VydmljZUVycm9ycy5pbmNsdWRlcyhlLm5hbWUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBTZXJ2aWNlRXhjZXB0aW9uID0gRGF0YS50YWdnZWQ8XG4gICAgICAgICAgICAgIFRhZ2dlZEV4Y2VwdGlvbjxPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VFeGNlcHRpb24+XG4gICAgICAgICAgICA+KGUubmFtZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBTZXJ2aWNlRXhjZXB0aW9uKHtcbiAgICAgICAgICAgICAgLi4uZSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogZS5tZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogZS5zdGFjayxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gU2RrRXJyb3Ioe1xuICAgICAgICAgICAgICAuLi5lLFxuICAgICAgICAgICAgICBuYW1lOiBcIlNka0Vycm9yXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IGUuc3RhY2ssXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAoY29tbWFuZFswXS50b0xvd2VyQ2FzZSgpICsgY29tbWFuZC5zbGljZSgxKSkucmVwbGFjZShcbiAgICAgIC9Db21tYW5kJC8sXG4gICAgICBcIlwiLFxuICAgICk7XG4gICAgcmV0dXJuIHsgLi4uYWNjLCBbbWV0aG9kTmFtZV06IG1ldGhvZEltcGwgfTtcbiAgfSwge30pIGFzIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSQ7XG59KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBtb2RlbHNcbiAqL1xuZXhwb3J0IGNsYXNzIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSBleHRlbmRzIEVmZmVjdC5UYWcoXG4gIFwiQGVmZmVjdC1hd3MvY2xpZW50LW9wZW5zZWFyY2gtc2VydmVybGVzcy9PcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VcIixcbik8T3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLCBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UkPigpIHtcbiAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRMYXllciA9IExheWVyLmVmZmVjdChcbiAgICB0aGlzLFxuICAgIG1ha2VPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2UsXG4gICkucGlwZShcbiAgICBMYXllci5wcm92aWRlKE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VMYXllciksXG4gICAgTGF5ZXIucHJvdmlkZShEZWZhdWx0T3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRDb25maWdMYXllciksXG4gICk7XG4gIHN0YXRpYyByZWFkb25seSBsYXllciA9IChjb25maWc6IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnKSA9PlxuICAgIExheWVyLmVmZmVjdCh0aGlzLCBtYWtlT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlKS5waXBlKFxuICAgICAgTGF5ZXIucHJvdmlkZShPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIpLFxuICAgICAgTGF5ZXIucHJvdmlkZShcbiAgICAgICAgTGF5ZXIuZWZmZWN0KFxuICAgICAgICAgIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgbWFrZURlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLnBpcGUoXG4gICAgICAgICAgICBFZmZlY3QubWFwKChkZWZhdWx0Q29uZmlnKSA9PiAoeyAuLi5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfSkpLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIHN0YXRpYyByZWFkb25seSBiYXNlTGF5ZXIgPSAoXG4gICAgZXZhbHVhdGU6IChcbiAgICAgIGRlZmF1bHRDb25maWc6IE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnLFxuICAgICkgPT4gT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnQsXG4gICkgPT5cbiAgICBMYXllci5lZmZlY3QodGhpcywgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZSkucGlwZShcbiAgICAgIExheWVyLnByb3ZpZGUoXG4gICAgICAgIExheWVyLmVmZmVjdChcbiAgICAgICAgICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLFxuICAgICAgICAgIEVmZmVjdC5tYXAoXG4gICAgICAgICAgICBtYWtlRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4gICAgICAgICAgICBldmFsdWF0ZSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApO1xufVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IG1vZGVsc1xuICogQGFsaWFzIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZVxuICovXG5leHBvcnQgY29uc3QgT3BlblNlYXJjaFNlcnZlcmxlc3MgPSBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2U7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKiBAZGVwcmVjYXRlZCB1c2UgT3BlblNlYXJjaFNlcnZlcmxlc3MuYmFzZUxheWVyIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VMYXllciA9IExheWVyLmVmZmVjdChcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLFxuICBtYWtlT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBPcGVuU2VhcmNoU2VydmVybGVzcy5sYXllciBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VMYXllciA9XG4gIEJhc2VPcGVuU2VhcmNoU2VydmVybGVzc1NlcnZpY2VMYXllci5waXBlKFxuICAgIExheWVyLnByb3ZpZGUoT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUxheWVyKSxcbiAgKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqIEBkZXByZWNhdGVkIHVzZSBPcGVuU2VhcmNoU2VydmVybGVzcy5kZWZhdWx0TGF5ZXIgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzU2VydmljZUxheWVyID1cbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NTZXJ2aWNlLmRlZmF1bHRMYXllcjtcbiJdfQ==
package/lib/esm/Errors.js DELETED
@@ -1,11 +0,0 @@
1
- import { Data } from "effect";
2
- export const AllServiceErrors = [
3
- "ConflictException",
4
- "InternalServerException",
5
- "OcuLimitExceededException",
6
- "ResourceNotFoundException",
7
- "ServiceQuotaExceededException",
8
- "ValidationException",
9
- ];
10
- export const SdkError = Data.tagged("SdkError");
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0IscUJBQXFCO0NBQ3RCLENBQUM7QUFlRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBVyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ29uZmxpY3RFeGNlcHRpb24sXG4gIEludGVybmFsU2VydmVyRXhjZXB0aW9uLFxuICBPY3VMaW1pdEV4Y2VlZGVkRXhjZXB0aW9uLFxuICBSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uLFxuICBTZXJ2aWNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbixcbiAgVmFsaWRhdGlvbkV4Y2VwdGlvbixcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcGVuc2VhcmNoc2VydmVybGVzc1wiO1xuaW1wb3J0IHsgRGF0YSB9IGZyb20gXCJlZmZlY3RcIjtcblxuZXhwb3J0IGNvbnN0IEFsbFNlcnZpY2VFcnJvcnMgPSBbXG4gIFwiQ29uZmxpY3RFeGNlcHRpb25cIixcbiAgXCJJbnRlcm5hbFNlcnZlckV4Y2VwdGlvblwiLFxuICBcIk9jdUxpbWl0RXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJSZXNvdXJjZU5vdEZvdW5kRXhjZXB0aW9uXCIsXG4gIFwiU2VydmljZVF1b3RhRXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJWYWxpZGF0aW9uRXhjZXB0aW9uXCIsXG5dO1xuXG5leHBvcnQgdHlwZSBUYWdnZWRFeGNlcHRpb248VCBleHRlbmRzIHsgbmFtZTogc3RyaW5nIH0+ID0gVCAmIHtcbiAgcmVhZG9ubHkgX3RhZzogVFtcIm5hbWVcIl07XG59O1xuXG5leHBvcnQgdHlwZSBDb25mbGljdEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPENvbmZsaWN0RXhjZXB0aW9uPjtcbmV4cG9ydCB0eXBlIEludGVybmFsU2VydmVyRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248SW50ZXJuYWxTZXJ2ZXJFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgT2N1TGltaXRFeGNlZWRlZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPE9jdUxpbWl0RXhjZWVkZWRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VOb3RGb3VuZEVycm9yID0gVGFnZ2VkRXhjZXB0aW9uPFJlc291cmNlTm90Rm91bmRFeGNlcHRpb24+O1xuZXhwb3J0IHR5cGUgU2VydmljZVF1b3RhRXhjZWVkZWRFcnJvciA9XG4gIFRhZ2dlZEV4Y2VwdGlvbjxTZXJ2aWNlUXVvdGFFeGNlZWRlZEV4Y2VwdGlvbj47XG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uRXJyb3IgPSBUYWdnZWRFeGNlcHRpb248VmFsaWRhdGlvbkV4Y2VwdGlvbj47XG5cbmV4cG9ydCB0eXBlIFNka0Vycm9yID0gVGFnZ2VkRXhjZXB0aW9uPEVycm9yICYgeyBuYW1lOiBcIlNka0Vycm9yXCIgfT47XG5leHBvcnQgY29uc3QgU2RrRXJyb3IgPSBEYXRhLnRhZ2dlZDxTZGtFcnJvcj4oXCJTZGtFcnJvclwiKTtcbiJdfQ==
@@ -1,30 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { OpenSearchServerlessClient } from "@aws-sdk/client-opensearchserverless";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { DefaultOpenSearchServerlessClientConfigLayer, OpenSearchServerlessClientInstanceConfig, } from "./OpenSearchServerlessClientInstanceConfig";
9
- /**
10
- * @since 1.0.0
11
- * @category tags
12
- */
13
- export class OpenSearchServerlessClientInstance extends Context.Tag("@effect-aws/client-opensearch-serverless/OpenSearchServerlessClientInstance")() {
14
- }
15
- /**
16
- * @since 1.0.0
17
- * @category constructors
18
- */
19
- export const makeOpenSearchServerlessClientInstance = Effect.map(OpenSearchServerlessClientInstanceConfig, (config) => new OpenSearchServerlessClient(config));
20
- /**
21
- * @since 1.0.0
22
- * @category layers
23
- */
24
- export const OpenSearchServerlessClientInstanceLayer = Layer.effect(OpenSearchServerlessClientInstance, makeOpenSearchServerlessClientInstance);
25
- /**
26
- * @since 1.0.0
27
- * @category layers
28
- */
29
- export const DefaultOpenSearchServerlessClientInstanceLayer = OpenSearchServerlessClientInstanceLayer.pipe(Layer.provide(DefaultOpenSearchServerlessClientConfigLayer));
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEYsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsNENBQTRDLEVBQzVDLHdDQUF3QyxHQUN6QyxNQUFNLDRDQUE0QyxDQUFDO0FBRXBEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSxPQUFPLENBQUMsR0FBRyxDQUNqRSw2RUFBNkUsQ0FDOUUsRUFBa0U7Q0FBRztBQUV0RTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUM5RCx3Q0FBd0MsRUFDeEMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQ25ELENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNqRSxrQ0FBa0MsRUFDbEMsc0NBQXNDLENBQ3ZDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSw4Q0FBOEMsR0FDekQsdUNBQXVDLENBQUMsSUFBSSxDQUMxQyxLQUFLLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDLENBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzaW5jZSAxLjAuMFxuICovXG5pbXBvcnQgeyBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3BlbnNlYXJjaHNlcnZlcmxlc3NcIjtcbmltcG9ydCAqIGFzIENvbnRleHQgZnJvbSBcImVmZmVjdC9Db250ZXh0XCI7XG5pbXBvcnQgKiBhcyBFZmZlY3QgZnJvbSBcImVmZmVjdC9FZmZlY3RcIjtcbmltcG9ydCAqIGFzIExheWVyIGZyb20gXCJlZmZlY3QvTGF5ZXJcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZ0xheWVyLFxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLFxufSBmcm9tIFwiLi9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnXCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZSBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1vcGVuc2VhcmNoLXNlcnZlcmxlc3MvT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZVwiLFxuKTxPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLCBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudD4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZU9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UgPSBFZmZlY3QubWFwKFxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICAoY29uZmlnKSA9PiBuZXcgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnQoY29uZmlnKSxcbik7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgbGF5ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIgPSBMYXllci5lZmZlY3QoXG4gIE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2UsXG4gIG1ha2VPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlLFxuKTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIgPVxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlTGF5ZXIucGlwZShcbiAgICBMYXllci5wcm92aWRlKERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZ0xheWVyKSxcbiAgKTtcbiJdfQ==
@@ -1,40 +0,0 @@
1
- import { Context, Effect, Layer, Runtime } from "effect";
2
- /**
3
- * @since 1.0.0
4
- * @category tags
5
- */
6
- export class OpenSearchServerlessClientInstanceConfig extends Context.Tag("@effect-aws/client-opensearch-serverless/OpenSearchServerlessClientInstanceConfig")() {
7
- }
8
- /**
9
- * @since 1.0.0
10
- * @category constructors
11
- */
12
- export const makeDefaultOpenSearchServerlessClientInstanceConfig = Effect.gen(function* (_) {
13
- const runtime = yield* _(Effect.runtime());
14
- const runSync = Runtime.runSync(runtime);
15
- return {
16
- logger: {
17
- info(m) {
18
- Effect.logInfo(m).pipe(runSync);
19
- },
20
- warn(m) {
21
- Effect.logWarning(m).pipe(runSync);
22
- },
23
- error(m) {
24
- Effect.logError(m).pipe(runSync);
25
- },
26
- debug(m) {
27
- Effect.logDebug(m).pipe(runSync);
28
- },
29
- trace(m) {
30
- Effect.logTrace(m).pipe(runSync);
31
- },
32
- },
33
- };
34
- });
35
- /**
36
- * @since 1.0.0
37
- * @category layers
38
- */
39
- export const DefaultOpenSearchServerlessClientConfigLayer = Layer.effect(OpenSearchServerlessClientInstanceConfig, makeDefaultOpenSearchServerlessClientInstanceConfig);
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9PcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFekQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHdDQUF5QyxTQUFRLE9BQU8sQ0FBQyxHQUFHLENBQ3ZFLG1GQUFtRixDQUNwRixFQUdFO0NBQUc7QUFFTjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxtREFBbUQsR0FDOUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3JCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFTLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE9BQU87UUFDTCxNQUFNLEVBQUU7WUFDTixJQUFJLENBQUMsQ0FBQztnQkFDSixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUM7Z0JBQ0osTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELEtBQUssQ0FBQyxDQUFDO2dCQUNMLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxLQUFLLENBQUMsQ0FBQztnQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDO0FBRUw7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNENBQTRDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FDdEUsd0NBQXdDLEVBQ3hDLG1EQUFtRCxDQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuaW1wb3J0IHR5cGUgeyBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3BlbnNlYXJjaHNlcnZlcmxlc3NcIjtcbmltcG9ydCB7IENvbnRleHQsIEVmZmVjdCwgTGF5ZXIsIFJ1bnRpbWUgfSBmcm9tIFwiZWZmZWN0XCI7XG5cbi8qKlxuICogQHNpbmNlIDEuMC4wXG4gKiBAY2F0ZWdvcnkgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyBleHRlbmRzIENvbnRleHQuVGFnKFxuICBcIkBlZmZlY3QtYXdzL2NsaWVudC1vcGVuc2VhcmNoLXNlcnZlcmxlc3MvT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZ1wiLFxuKTxcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRJbnN0YW5jZUNvbmZpZyxcbiAgT3BlblNlYXJjaFNlcnZlcmxlc3NDbGllbnRDb25maWdcbj4oKSB7fVxuXG4vKipcbiAqIEBzaW5jZSAxLjAuMFxuICogQGNhdGVnb3J5IGNvbnN0cnVjdG9yc1xuICovXG5leHBvcnQgY29uc3QgbWFrZURlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnOiBFZmZlY3QuRWZmZWN0PE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50Q29uZmlnPiA9XG4gIEVmZmVjdC5nZW4oZnVuY3Rpb24qIChfKSB7XG4gICAgY29uc3QgcnVudGltZSA9IHlpZWxkKiBfKEVmZmVjdC5ydW50aW1lPG5ldmVyPigpKTtcbiAgICBjb25zdCBydW5TeW5jID0gUnVudGltZS5ydW5TeW5jKHJ1bnRpbWUpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2dlcjoge1xuICAgICAgICBpbmZvKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nSW5mbyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICB3YXJuKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nV2FybmluZyhtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcihtKSB7XG4gICAgICAgICAgRWZmZWN0LmxvZ0Vycm9yKG0pLnBpcGUocnVuU3luYyk7XG4gICAgICAgIH0sXG4gICAgICAgIGRlYnVnKG0pIHtcbiAgICAgICAgICBFZmZlY3QubG9nRGVidWcobSkucGlwZShydW5TeW5jKTtcbiAgICAgICAgfSxcbiAgICAgICAgdHJhY2UobSkge1xuICAgICAgICAgIEVmZmVjdC5sb2dUcmFjZShtKS5waXBlKHJ1blN5bmMpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9KTtcblxuLyoqXG4gKiBAc2luY2UgMS4wLjBcbiAqIEBjYXRlZ29yeSBsYXllcnNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudENvbmZpZ0xheWVyID0gTGF5ZXIuZWZmZWN0KFxuICBPcGVuU2VhcmNoU2VydmVybGVzc0NsaWVudEluc3RhbmNlQ29uZmlnLFxuICBtYWtlRGVmYXVsdE9wZW5TZWFyY2hTZXJ2ZXJsZXNzQ2xpZW50SW5zdGFuY2VDb25maWcsXG4pO1xuIl19