@pulumi/rabbitmq 1.4.0 → 1.7.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 (65) hide show
  1. package/README.md +15 -3
  2. package/binding.d.ts +27 -15
  3. package/binding.js +37 -29
  4. package/binding.js.map +1 -1
  5. package/config/index.js +15 -4
  6. package/config/index.js.map +1 -1
  7. package/config/vars.d.ts +8 -5
  8. package/config/vars.js +51 -6
  9. package/config/vars.js.map +1 -1
  10. package/exchange.d.ts +18 -10
  11. package/exchange.js +24 -18
  12. package/exchange.js.map +1 -1
  13. package/federationUpstream.d.ts +141 -0
  14. package/federationUpstream.js +121 -0
  15. package/federationUpstream.js.map +1 -0
  16. package/getExchange.d.ts +27 -0
  17. package/getExchange.js +23 -0
  18. package/getExchange.js.map +1 -0
  19. package/getUser.d.ts +23 -0
  20. package/getUser.js +22 -0
  21. package/getUser.js.map +1 -0
  22. package/getVHost.d.ts +22 -0
  23. package/getVHost.js +22 -0
  24. package/getVHost.js.map +1 -0
  25. package/index.d.ts +10 -4
  26. package/index.js +98 -14
  27. package/index.js.map +1 -1
  28. package/operatorPolicy.d.ts +117 -0
  29. package/operatorPolicy.js +100 -0
  30. package/operatorPolicy.js.map +1 -0
  31. package/package.json +7 -5
  32. package/package.json.bak +7 -4
  33. package/package.json.dev +8 -5
  34. package/permissions.d.ts +18 -10
  35. package/permissions.js +25 -19
  36. package/permissions.js.map +1 -1
  37. package/policy.d.ts +16 -10
  38. package/policy.js +23 -19
  39. package/policy.js.map +1 -1
  40. package/provider.d.ts +16 -8
  41. package/provider.js +23 -15
  42. package/provider.js.map +1 -1
  43. package/queue.d.ts +26 -19
  44. package/queue.js +32 -27
  45. package/queue.js.map +1 -1
  46. package/shovel.d.ts +121 -0
  47. package/shovel.js +104 -0
  48. package/shovel.js.map +1 -0
  49. package/topicPermissions.d.ts +18 -10
  50. package/topicPermissions.js +25 -19
  51. package/topicPermissions.js.map +1 -1
  52. package/types/index.d.ts +1 -1
  53. package/types/index.js +1 -0
  54. package/types/index.js.map +1 -1
  55. package/types/input.d.ts +172 -0
  56. package/types/output.d.ts +180 -0
  57. package/user.d.ts +15 -8
  58. package/user.js +22 -18
  59. package/user.js.map +1 -1
  60. package/utilities.js +6 -0
  61. package/utilities.js.map +1 -1
  62. package/{vHost.d.ts → vhost.d.ts} +12 -5
  63. package/{vHost.js → vhost.js} +19 -15
  64. package/vhost.js.map +1 -0
  65. package/vHost.js.map +0 -1
@@ -2,10 +2,11 @@
2
2
  // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.TopicPermissions = void 0;
5
6
  const pulumi = require("@pulumi/pulumi");
6
7
  const utilities = require("./utilities");
7
8
  /**
8
- * The ``rabbitmq..TopicPermissions`` resource creates and manages a user's set of
9
+ * The ``rabbitmq.TopicPermissions`` resource creates and manages a user's set of
9
10
  * topic permissions.
10
11
  *
11
12
  * ## Example Usage
@@ -30,36 +31,40 @@ const utilities = require("./utilities");
30
31
  * });
31
32
  * ```
32
33
  *
33
- * > This content is derived from https://github.com/terraform-providers/terraform-provider-rabbitmq/blob/master/website/docs/r/topic-permissions.html.markdown.
34
+ * ## Import
35
+ *
36
+ * Permissions can be imported using the `id` which is composed of
37
+ *
38
+ * `user@vhost`. E.g.
39
+ *
40
+ * ```sh
41
+ * $ pulumi import rabbitmq:index/topicPermissions:TopicPermissions test user@vhost
42
+ * ```
34
43
  */
35
44
  class TopicPermissions extends pulumi.CustomResource {
36
45
  constructor(name, argsOrState, opts) {
37
- let inputs = {};
38
- if (opts && opts.id) {
46
+ let resourceInputs = {};
47
+ opts = opts || {};
48
+ if (opts.id) {
39
49
  const state = argsOrState;
40
- inputs["permissions"] = state ? state.permissions : undefined;
41
- inputs["user"] = state ? state.user : undefined;
42
- inputs["vhost"] = state ? state.vhost : undefined;
50
+ resourceInputs["permissions"] = state ? state.permissions : undefined;
51
+ resourceInputs["user"] = state ? state.user : undefined;
52
+ resourceInputs["vhost"] = state ? state.vhost : undefined;
43
53
  }
44
54
  else {
45
55
  const args = argsOrState;
46
- if (!args || args.permissions === undefined) {
56
+ if ((!args || args.permissions === undefined) && !opts.urn) {
47
57
  throw new Error("Missing required property 'permissions'");
48
58
  }
49
- if (!args || args.user === undefined) {
59
+ if ((!args || args.user === undefined) && !opts.urn) {
50
60
  throw new Error("Missing required property 'user'");
51
61
  }
52
- inputs["permissions"] = args ? args.permissions : undefined;
53
- inputs["user"] = args ? args.user : undefined;
54
- inputs["vhost"] = args ? args.vhost : undefined;
55
- }
56
- if (!opts) {
57
- opts = {};
58
- }
59
- if (!opts.version) {
60
- opts.version = utilities.getVersion();
62
+ resourceInputs["permissions"] = args ? args.permissions : undefined;
63
+ resourceInputs["user"] = args ? args.user : undefined;
64
+ resourceInputs["vhost"] = args ? args.vhost : undefined;
61
65
  }
62
- super(TopicPermissions.__pulumiType, name, inputs, opts);
66
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
67
+ super(TopicPermissions.__pulumiType, name, resourceInputs, opts);
63
68
  }
64
69
  /**
65
70
  * Get an existing TopicPermissions resource's state with the given name, ID, and optional extra
@@ -68,6 +73,7 @@ class TopicPermissions extends pulumi.CustomResource {
68
73
  * @param name The _unique_ name of the resulting resource.
69
74
  * @param id The _unique_ provider ID of the resource to lookup.
70
75
  * @param state Any extra arguments used during the lookup.
76
+ * @param opts Optional settings to control the behavior of the CustomResource.
71
77
  */
72
78
  static get(name, id, state, opts) {
73
79
  return new TopicPermissions(name, state, Object.assign(Object.assign({}, opts), { id: id }));
@@ -1 +1 @@
1
- {"version":3,"file":"topicPermissions.js","sourceRoot":"","sources":["../topicPermissions.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc;IAiDvD,YAAY,IAAY,EAAE,WAA0D,EAAE,IAAmC;QACrH,IAAI,MAAM,GAAkB,EAAE,CAAC;QAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;YACjB,MAAM,KAAK,GAAG,WAAgD,CAAC;YAC/D,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAChD,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SACrD;aAAM;YACH,MAAM,IAAI,GAAG,WAA+C,CAAC;YAC7D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SACnD;QACD,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,GAAG,EAAE,CAAA;SACZ;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;SACzC;QACD,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IA3ED;;;;;;;OAOG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6B,EAAE,IAAmC;QAC3H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACvE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,gBAAgB,CAAC,YAAY,CAAC;IACjE,CAAC;;AAzBL,4CA6EC;AAhEG,gBAAgB;AACO,6BAAY,GAAG,kDAAkD,CAAC"}
1
+ {"version":3,"file":"topicPermissions.js","sourceRoot":"","sources":["../topicPermissions.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc;IAkDvD,YAAY,IAAY,EAAE,WAA0D,EAAE,IAAmC;QACrH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAgD,CAAC;YAC/D,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7D;aAAM;YACH,MAAM,IAAI,GAAG,WAA+C,CAAC;YAC7D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACxD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;aAC9D;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACvD;YACD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAvED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6B,EAAE,IAAmC;QAC3H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACvE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,gBAAgB,CAAC,YAAY,CAAC;IACjE,CAAC;;AA1BL,4CAyEC;AA3DG,gBAAgB;AACO,6BAAY,GAAG,kDAAkD,CAAC"}
package/types/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import * as input from "./input";
2
2
  import * as output from "./output";
3
- export { input, output };
3
+ export { input, output, };
package/types/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.output = exports.input = void 0;
5
6
  // Export sub-modules:
6
7
  const input = require("./input");
7
8
  exports.input = input;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;AAEjF,sBAAsB;AACtB,iCAAiC;AAEzB,sBAAK;AADb,mCAAmC;AACpB,wBAAM"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,sBAAsB;AACtB,iCAAiC;AAI7B,sBAAK;AAHT,mCAAmC;AAI/B,wBAAM"}
package/types/input.d.ts CHANGED
@@ -21,6 +21,69 @@ export interface ExchangeSettings {
21
21
  */
22
22
  type: pulumi.Input<string>;
23
23
  }
24
+ export interface FederationUpstreamDefinition {
25
+ /**
26
+ * Determines how the link should acknowledge messages. Valid values are `on-confirm`, `on-publish`, and `no-ack`. Default is `on-confirm`.
27
+ */
28
+ ackMode?: pulumi.Input<string>;
29
+ /**
30
+ * The name of the upstream exchange.
31
+ */
32
+ exchange?: pulumi.Input<string>;
33
+ /**
34
+ * The expiry time (in milliseconds) after which an upstream queue for a federated exchange may be deleted if a connection to the upstream is lost.
35
+ */
36
+ expires?: pulumi.Input<number>;
37
+ /**
38
+ * Maximum number of federation links that messages can traverse before being dropped. Default is `1`.
39
+ */
40
+ maxHops?: pulumi.Input<number>;
41
+ /**
42
+ * The expiry time (in milliseconds) for messages in the upstream queue for a federated exchange (see expires).
43
+ */
44
+ messageTtl?: pulumi.Input<number>;
45
+ /**
46
+ * Maximum number of unacknowledged messages that may be in flight over a federation link at one time. Default is `1000`.
47
+ */
48
+ prefetchCount?: pulumi.Input<number>;
49
+ /**
50
+ * The name of the upstream queue.
51
+ */
52
+ queue?: pulumi.Input<string>;
53
+ /**
54
+ * Time in seconds to wait after a network link goes down before attempting reconnection. Default is `5`.
55
+ */
56
+ reconnectDelay?: pulumi.Input<number>;
57
+ /**
58
+ * Determines how federation should interact with the validated user-id feature. Default is `false`.
59
+ */
60
+ trustUserId?: pulumi.Input<boolean>;
61
+ /**
62
+ * The AMQP URI(s) for the upstream. Note that the URI may contain sensitive information, such as a password.
63
+ */
64
+ uri: pulumi.Input<string>;
65
+ }
66
+ export interface OperatorPolicyPolicy {
67
+ /**
68
+ * Can be "queues".
69
+ */
70
+ applyTo: pulumi.Input<string>;
71
+ /**
72
+ * Key/value pairs of the operator policy definition. See the
73
+ * RabbitMQ documentation for definition references and examples.
74
+ */
75
+ definition: pulumi.Input<{
76
+ [key: string]: any;
77
+ }>;
78
+ /**
79
+ * A pattern to match an exchange or queue name.
80
+ */
81
+ pattern: pulumi.Input<string>;
82
+ /**
83
+ * The policy with the greater priority is applied first.
84
+ */
85
+ priority: pulumi.Input<number>;
86
+ }
24
87
  export interface PermissionsPermissions {
25
88
  /**
26
89
  * The "configure" ACL.
@@ -82,6 +145,115 @@ export interface QueueSettings {
82
145
  */
83
146
  durable?: pulumi.Input<boolean>;
84
147
  }
148
+ export interface ShovelInfo {
149
+ /**
150
+ * Determines how the shovel should acknowledge messages. Possible values are: `on-confirm`, `on-publish` and `no-ack`.
151
+ * Defaults to `on-confirm`.
152
+ */
153
+ ackMode?: pulumi.Input<string>;
154
+ /**
155
+ * Whether to add `x-shovelled` headers to shovelled messages.
156
+ *
157
+ * @deprecated use destination_add_forward_headers instead
158
+ */
159
+ addForwardHeaders?: pulumi.Input<boolean>;
160
+ /**
161
+ * Determines when (if ever) the shovel should delete itself. Possible values are: `never`, `queue-length` or an integer.
162
+ *
163
+ * @deprecated use source_delete_after instead
164
+ */
165
+ deleteAfter?: pulumi.Input<string>;
166
+ /**
167
+ * Whether to add `x-shovelled` headers to shovelled messages.
168
+ */
169
+ destinationAddForwardHeaders?: pulumi.Input<boolean>;
170
+ destinationAddTimestampHeader?: pulumi.Input<boolean>;
171
+ /**
172
+ * The AMQP 1.0 destination link address.
173
+ */
174
+ destinationAddress?: pulumi.Input<string>;
175
+ /**
176
+ * Application properties to set when shovelling messages.
177
+ */
178
+ destinationApplicationProperties?: pulumi.Input<string>;
179
+ /**
180
+ * The exchange to which messages should be published.
181
+ * Either this or `destinationQueue` must be specified but not both.
182
+ */
183
+ destinationExchange?: pulumi.Input<string>;
184
+ /**
185
+ * The routing key when using `destinationExchange`.
186
+ */
187
+ destinationExchangeKey?: pulumi.Input<string>;
188
+ /**
189
+ * Properties to overwrite when shovelling messages.
190
+ */
191
+ destinationProperties?: pulumi.Input<string>;
192
+ /**
193
+ * The protocol (`amqp091` or `amqp10`) to use when connecting to the destination.
194
+ * Defaults to `amqp091`.
195
+ */
196
+ destinationProtocol?: pulumi.Input<string>;
197
+ /**
198
+ * A map of properties to overwrite when shovelling messages.
199
+ */
200
+ destinationPublishProperties?: pulumi.Input<string>;
201
+ /**
202
+ * The queue to which messages should be published.
203
+ * Either this or `destinationExchange` must be specified but not both.
204
+ */
205
+ destinationQueue?: pulumi.Input<string>;
206
+ /**
207
+ * The amqp uri for the destination .
208
+ */
209
+ destinationUri: pulumi.Input<string>;
210
+ /**
211
+ * The maximum number of unacknowledged messages copied over a shovel at any one time.
212
+ *
213
+ * @deprecated use source_prefetch_count instead
214
+ */
215
+ prefetchCount?: pulumi.Input<number>;
216
+ /**
217
+ * The duration in seconds to reconnect to a broker after disconnected.
218
+ * Defaults to `1`.
219
+ */
220
+ reconnectDelay?: pulumi.Input<number>;
221
+ /**
222
+ * The AMQP 1.0 source link address.
223
+ */
224
+ sourceAddress?: pulumi.Input<string>;
225
+ /**
226
+ * Determines when (if ever) the shovel should delete itself. Possible values are: `never`, `queue-length` or an integer.
227
+ */
228
+ sourceDeleteAfter?: pulumi.Input<string>;
229
+ /**
230
+ * The exchange from which to consume.
231
+ * Either this or `sourceQueue` must be specified but not both.
232
+ */
233
+ sourceExchange?: pulumi.Input<string>;
234
+ /**
235
+ * The routing key when using `sourceExchange`.
236
+ */
237
+ sourceExchangeKey?: pulumi.Input<string>;
238
+ /**
239
+ * The maximum number of unacknowledged messages copied over a shovel at any one time.
240
+ */
241
+ sourcePrefetchCount?: pulumi.Input<number>;
242
+ /**
243
+ * The protocol (`amqp091` or `amqp10`) to use when connecting to the source.
244
+ * Defaults to `amqp091`.
245
+ */
246
+ sourceProtocol?: pulumi.Input<string>;
247
+ /**
248
+ * The queue from which to consume.
249
+ * Either this or `sourceExchange` must be specified but not both.
250
+ */
251
+ sourceQueue?: pulumi.Input<string>;
252
+ /**
253
+ * The amqp uri for the source.
254
+ */
255
+ sourceUri: pulumi.Input<string>;
256
+ }
85
257
  export interface TopicPermissionsPermission {
86
258
  /**
87
259
  * The exchange to set the permissions for.
package/types/output.d.ts CHANGED
@@ -20,6 +20,77 @@ export interface ExchangeSettings {
20
20
  */
21
21
  type: string;
22
22
  }
23
+ export interface FederationUpstreamDefinition {
24
+ /**
25
+ * Determines how the link should acknowledge messages. Valid values are `on-confirm`, `on-publish`, and `no-ack`. Default is `on-confirm`.
26
+ */
27
+ ackMode?: string;
28
+ /**
29
+ * The name of the upstream exchange.
30
+ */
31
+ exchange?: string;
32
+ /**
33
+ * The expiry time (in milliseconds) after which an upstream queue for a federated exchange may be deleted if a connection to the upstream is lost.
34
+ */
35
+ expires?: number;
36
+ /**
37
+ * Maximum number of federation links that messages can traverse before being dropped. Default is `1`.
38
+ */
39
+ maxHops?: number;
40
+ /**
41
+ * The expiry time (in milliseconds) for messages in the upstream queue for a federated exchange (see expires).
42
+ */
43
+ messageTtl?: number;
44
+ /**
45
+ * Maximum number of unacknowledged messages that may be in flight over a federation link at one time. Default is `1000`.
46
+ */
47
+ prefetchCount?: number;
48
+ /**
49
+ * The name of the upstream queue.
50
+ */
51
+ queue?: string;
52
+ /**
53
+ * Time in seconds to wait after a network link goes down before attempting reconnection. Default is `5`.
54
+ */
55
+ reconnectDelay?: number;
56
+ /**
57
+ * Determines how federation should interact with the validated user-id feature. Default is `false`.
58
+ */
59
+ trustUserId?: boolean;
60
+ /**
61
+ * The AMQP URI(s) for the upstream. Note that the URI may contain sensitive information, such as a password.
62
+ */
63
+ uri: string;
64
+ }
65
+ export interface GetExchangeSetting {
66
+ arguments?: {
67
+ [key: string]: any;
68
+ };
69
+ autoDelete?: boolean;
70
+ durable?: boolean;
71
+ type: string;
72
+ }
73
+ export interface OperatorPolicyPolicy {
74
+ /**
75
+ * Can be "queues".
76
+ */
77
+ applyTo: string;
78
+ /**
79
+ * Key/value pairs of the operator policy definition. See the
80
+ * RabbitMQ documentation for definition references and examples.
81
+ */
82
+ definition: {
83
+ [key: string]: any;
84
+ };
85
+ /**
86
+ * A pattern to match an exchange or queue name.
87
+ */
88
+ pattern: string;
89
+ /**
90
+ * The policy with the greater priority is applied first.
91
+ */
92
+ priority: number;
93
+ }
23
94
  export interface PermissionsPermissions {
24
95
  /**
25
96
  * The "configure" ACL.
@@ -81,6 +152,115 @@ export interface QueueSettings {
81
152
  */
82
153
  durable?: boolean;
83
154
  }
155
+ export interface ShovelInfo {
156
+ /**
157
+ * Determines how the shovel should acknowledge messages. Possible values are: `on-confirm`, `on-publish` and `no-ack`.
158
+ * Defaults to `on-confirm`.
159
+ */
160
+ ackMode?: string;
161
+ /**
162
+ * Whether to add `x-shovelled` headers to shovelled messages.
163
+ *
164
+ * @deprecated use destination_add_forward_headers instead
165
+ */
166
+ addForwardHeaders?: boolean;
167
+ /**
168
+ * Determines when (if ever) the shovel should delete itself. Possible values are: `never`, `queue-length` or an integer.
169
+ *
170
+ * @deprecated use source_delete_after instead
171
+ */
172
+ deleteAfter?: string;
173
+ /**
174
+ * Whether to add `x-shovelled` headers to shovelled messages.
175
+ */
176
+ destinationAddForwardHeaders?: boolean;
177
+ destinationAddTimestampHeader?: boolean;
178
+ /**
179
+ * The AMQP 1.0 destination link address.
180
+ */
181
+ destinationAddress?: string;
182
+ /**
183
+ * Application properties to set when shovelling messages.
184
+ */
185
+ destinationApplicationProperties?: string;
186
+ /**
187
+ * The exchange to which messages should be published.
188
+ * Either this or `destinationQueue` must be specified but not both.
189
+ */
190
+ destinationExchange?: string;
191
+ /**
192
+ * The routing key when using `destinationExchange`.
193
+ */
194
+ destinationExchangeKey?: string;
195
+ /**
196
+ * Properties to overwrite when shovelling messages.
197
+ */
198
+ destinationProperties?: string;
199
+ /**
200
+ * The protocol (`amqp091` or `amqp10`) to use when connecting to the destination.
201
+ * Defaults to `amqp091`.
202
+ */
203
+ destinationProtocol?: string;
204
+ /**
205
+ * A map of properties to overwrite when shovelling messages.
206
+ */
207
+ destinationPublishProperties?: string;
208
+ /**
209
+ * The queue to which messages should be published.
210
+ * Either this or `destinationExchange` must be specified but not both.
211
+ */
212
+ destinationQueue?: string;
213
+ /**
214
+ * The amqp uri for the destination .
215
+ */
216
+ destinationUri: string;
217
+ /**
218
+ * The maximum number of unacknowledged messages copied over a shovel at any one time.
219
+ *
220
+ * @deprecated use source_prefetch_count instead
221
+ */
222
+ prefetchCount?: number;
223
+ /**
224
+ * The duration in seconds to reconnect to a broker after disconnected.
225
+ * Defaults to `1`.
226
+ */
227
+ reconnectDelay?: number;
228
+ /**
229
+ * The AMQP 1.0 source link address.
230
+ */
231
+ sourceAddress?: string;
232
+ /**
233
+ * Determines when (if ever) the shovel should delete itself. Possible values are: `never`, `queue-length` or an integer.
234
+ */
235
+ sourceDeleteAfter?: string;
236
+ /**
237
+ * The exchange from which to consume.
238
+ * Either this or `sourceQueue` must be specified but not both.
239
+ */
240
+ sourceExchange?: string;
241
+ /**
242
+ * The routing key when using `sourceExchange`.
243
+ */
244
+ sourceExchangeKey?: string;
245
+ /**
246
+ * The maximum number of unacknowledged messages copied over a shovel at any one time.
247
+ */
248
+ sourcePrefetchCount?: number;
249
+ /**
250
+ * The protocol (`amqp091` or `amqp10`) to use when connecting to the source.
251
+ * Defaults to `amqp091`.
252
+ */
253
+ sourceProtocol?: string;
254
+ /**
255
+ * The queue from which to consume.
256
+ * Either this or `sourceExchange` must be specified but not both.
257
+ */
258
+ sourceQueue?: string;
259
+ /**
260
+ * The amqp uri for the source.
261
+ */
262
+ sourceUri: string;
263
+ }
84
264
  export interface TopicPermissionsPermission {
85
265
  /**
86
266
  * The exchange to set the permissions for.
package/user.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  /**
3
- * The ``rabbitmq..User`` resource creates and manages a user.
3
+ * The ``rabbitmq.User`` resource creates and manages a user.
4
4
  *
5
5
  * > **Note:** All arguments including username and password will be stored in the raw state as plain-text.
6
6
  * [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).
@@ -20,7 +20,13 @@ import * as pulumi from "@pulumi/pulumi";
20
20
  * });
21
21
  * ```
22
22
  *
23
- * > This content is derived from https://github.com/terraform-providers/terraform-provider-rabbitmq/blob/master/website/docs/r/user.html.markdown.
23
+ * ## Import
24
+ *
25
+ * Users can be imported using the `name`, e.g.
26
+ *
27
+ * ```sh
28
+ * $ pulumi import rabbitmq:index/user:User test mctest
29
+ * ```
24
30
  */
25
31
  export declare class User extends pulumi.CustomResource {
26
32
  /**
@@ -30,6 +36,7 @@ export declare class User extends pulumi.CustomResource {
30
36
  * @param name The _unique_ name of the resulting resource.
31
37
  * @param id The _unique_ provider ID of the resource to lookup.
32
38
  * @param state Any extra arguments used during the lookup.
39
+ * @param opts Optional settings to control the behavior of the CustomResource.
33
40
  */
34
41
  static get(name: string, id: pulumi.Input<pulumi.ID>, state?: UserState, opts?: pulumi.CustomResourceOptions): User;
35
42
  /**
@@ -67,17 +74,17 @@ export interface UserState {
67
74
  /**
68
75
  * The name of the user.
69
76
  */
70
- readonly name?: pulumi.Input<string>;
77
+ name?: pulumi.Input<string>;
71
78
  /**
72
79
  * The password of the user. The value of this argument
73
80
  * is plain-text so make sure to secure where this is defined.
74
81
  */
75
- readonly password?: pulumi.Input<string>;
82
+ password?: pulumi.Input<string>;
76
83
  /**
77
84
  * Which permission model to apply to the user. Valid
78
85
  * options are: management, policymaker, monitoring, and administrator.
79
86
  */
80
- readonly tags?: pulumi.Input<pulumi.Input<string>[]>;
87
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
81
88
  }
82
89
  /**
83
90
  * The set of arguments for constructing a User resource.
@@ -86,15 +93,15 @@ export interface UserArgs {
86
93
  /**
87
94
  * The name of the user.
88
95
  */
89
- readonly name?: pulumi.Input<string>;
96
+ name?: pulumi.Input<string>;
90
97
  /**
91
98
  * The password of the user. The value of this argument
92
99
  * is plain-text so make sure to secure where this is defined.
93
100
  */
94
- readonly password: pulumi.Input<string>;
101
+ password: pulumi.Input<string>;
95
102
  /**
96
103
  * Which permission model to apply to the user. Valid
97
104
  * options are: management, policymaker, monitoring, and administrator.
98
105
  */
99
- readonly tags?: pulumi.Input<pulumi.Input<string>[]>;
106
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
100
107
  }
package/user.js CHANGED
@@ -2,10 +2,11 @@
2
2
  // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.User = void 0;
5
6
  const pulumi = require("@pulumi/pulumi");
6
7
  const utilities = require("./utilities");
7
8
  /**
8
- * The ``rabbitmq..User`` resource creates and manages a user.
9
+ * The ``rabbitmq.User`` resource creates and manages a user.
9
10
  *
10
11
  * > **Note:** All arguments including username and password will be stored in the raw state as plain-text.
11
12
  * [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).
@@ -25,33 +26,35 @@ const utilities = require("./utilities");
25
26
  * });
26
27
  * ```
27
28
  *
28
- * > This content is derived from https://github.com/terraform-providers/terraform-provider-rabbitmq/blob/master/website/docs/r/user.html.markdown.
29
+ * ## Import
30
+ *
31
+ * Users can be imported using the `name`, e.g.
32
+ *
33
+ * ```sh
34
+ * $ pulumi import rabbitmq:index/user:User test mctest
35
+ * ```
29
36
  */
30
37
  class User extends pulumi.CustomResource {
31
38
  constructor(name, argsOrState, opts) {
32
- let inputs = {};
33
- if (opts && opts.id) {
39
+ let resourceInputs = {};
40
+ opts = opts || {};
41
+ if (opts.id) {
34
42
  const state = argsOrState;
35
- inputs["name"] = state ? state.name : undefined;
36
- inputs["password"] = state ? state.password : undefined;
37
- inputs["tags"] = state ? state.tags : undefined;
43
+ resourceInputs["name"] = state ? state.name : undefined;
44
+ resourceInputs["password"] = state ? state.password : undefined;
45
+ resourceInputs["tags"] = state ? state.tags : undefined;
38
46
  }
39
47
  else {
40
48
  const args = argsOrState;
41
- if (!args || args.password === undefined) {
49
+ if ((!args || args.password === undefined) && !opts.urn) {
42
50
  throw new Error("Missing required property 'password'");
43
51
  }
44
- inputs["name"] = args ? args.name : undefined;
45
- inputs["password"] = args ? args.password : undefined;
46
- inputs["tags"] = args ? args.tags : undefined;
47
- }
48
- if (!opts) {
49
- opts = {};
50
- }
51
- if (!opts.version) {
52
- opts.version = utilities.getVersion();
52
+ resourceInputs["name"] = args ? args.name : undefined;
53
+ resourceInputs["password"] = args ? args.password : undefined;
54
+ resourceInputs["tags"] = args ? args.tags : undefined;
53
55
  }
54
- super(User.__pulumiType, name, inputs, opts);
56
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
57
+ super(User.__pulumiType, name, resourceInputs, opts);
55
58
  }
56
59
  /**
57
60
  * Get an existing User resource's state with the given name, ID, and optional extra
@@ -60,6 +63,7 @@ class User extends pulumi.CustomResource {
60
63
  * @param name The _unique_ name of the resulting resource.
61
64
  * @param id The _unique_ provider ID of the resource to lookup.
62
65
  * @param state Any extra arguments used during the lookup.
66
+ * @param opts Optional settings to control the behavior of the CustomResource.
63
67
  */
64
68
  static get(name, id, state, opts) {
65
69
  return new User(name, state, Object.assign(Object.assign({}, opts), { id: id }));
package/user.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../user.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,IAAK,SAAQ,MAAM,CAAC,cAAc;IAkD3C,YAAY,IAAY,EAAE,WAAkC,EAAE,IAAmC;QAC7F,IAAI,MAAM,GAAkB,EAAE,CAAC;QAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;YACjB,MAAM,KAAK,GAAG,WAAoC,CAAC;YACnD,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAChD,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACnD;aAAM;YACH,MAAM,IAAI,GAAG,WAAmC,CAAC;YACjD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACtC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9C,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACjD;QACD,IAAI,CAAC,IAAI,EAAE;YACP,IAAI,GAAG,EAAE,CAAA;SACZ;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;SACzC;QACD,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAzED;;;;;;;OAOG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiB,EAAE,IAAmC;QAC/G,OAAO,IAAI,IAAI,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC3D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC;IACrD,CAAC;;AAzBL,oBA2EC;AA9DG,gBAAgB;AACO,iBAAY,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../user.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAa,IAAK,SAAQ,MAAM,CAAC,cAAc;IAmD3C,YAAY,IAAY,EAAE,WAAkC,EAAE,IAAmC;QAC7F,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAoC,CAAC;YACnD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;aAAM;YACH,MAAM,IAAI,GAAG,WAAmC,CAAC;YACjD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACrD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SACzD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IArED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiB,EAAE,IAAmC;QAC/G,OAAO,IAAI,IAAI,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC3D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC;IACrD,CAAC;;AA1BL,oBAuEC;AAzDG,gBAAgB;AACO,iBAAY,GAAG,0BAA0B,CAAC"}
package/utilities.js CHANGED
@@ -2,6 +2,7 @@
2
2
  // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
3
  // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.resourceOptsDefaults = exports.getVersion = exports.getEnvNumber = exports.getEnvBoolean = exports.getEnv = void 0;
5
6
  function getEnv(...vars) {
6
7
  for (const v of vars) {
7
8
  const value = process.env[v];
@@ -48,4 +49,9 @@ function getVersion() {
48
49
  return version;
49
50
  }
50
51
  exports.getVersion = getVersion;
52
+ /** @internal */
53
+ function resourceOptsDefaults() {
54
+ return { version: getVersion() };
55
+ }
56
+ exports.resourceOptsDefaults = resourceOptsDefaults;
51
57
  //# sourceMappingURL=utilities.js.map
package/utilities.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../utilities.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;AAGjF,SAAgB,MAAM,CAAC,GAAG,IAAc;IACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AARD,wBAQC;AAED,SAAgB,aAAa,CAAC,GAAG,IAAc;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,uGAAuG;QACvG,yDAAyD;QACzD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC1E,OAAO,IAAI,CAAC;SACf;QACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC7E,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAbD,sCAaC;AAED,SAAgB,YAAY,CAAC,GAAG,IAAc;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACX,OAAO,CAAC,CAAC;SACZ;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AATD,oCASC;AAED,SAAgB,UAAU;IACtB,IAAI,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;IAChD,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC5B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AARD,gCAQC"}
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../utilities.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAGjF,SAAgB,MAAM,CAAC,GAAG,IAAc;IACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AARD,wBAQC;AAED,SAAgB,aAAa,CAAC,GAAG,IAAc;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,uGAAuG;QACvG,yDAAyD;QACzD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC1E,OAAO,IAAI,CAAC;SACf;QACD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE;YAC7E,OAAO,KAAK,CAAC;SAChB;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAbD,sCAaC;AAED,SAAgB,YAAY,CAAC,GAAG,IAAc;IAC1C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,SAAS,EAAE;QACjB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACX,OAAO,CAAC,CAAC;SACZ;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AATD,oCASC;AAED,SAAgB,UAAU;IACtB,IAAI,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;IAChD,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAC5B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AARD,gCAQC;AAED,gBAAgB;AAChB,SAAgB,oBAAoB;IAChC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC;AACrC,CAAC;AAFD,oDAEC"}