@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
package/provider.d.ts CHANGED
@@ -4,8 +4,6 @@ import * as pulumi from "@pulumi/pulumi";
4
4
  * settings, however an explicit `Provider` instance may be created and passed during resource
5
5
  * construction to achieve fine-grained programmatic control over provider settings. See the
6
6
  * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
7
- *
8
- * > This content is derived from https://github.com/terraform-providers/terraform-provider-rabbitmq/blob/master/website/docs/index.html.markdown.
9
7
  */
10
8
  export declare class Provider extends pulumi.ProviderResource {
11
9
  /**
@@ -13,6 +11,13 @@ export declare class Provider extends pulumi.ProviderResource {
13
11
  * when multiple copies of the Pulumi SDK have been loaded into the same process.
14
12
  */
15
13
  static isInstance(obj: any): obj is Provider;
14
+ readonly cacertFile: pulumi.Output<string | undefined>;
15
+ readonly clientcertFile: pulumi.Output<string | undefined>;
16
+ readonly clientkeyFile: pulumi.Output<string | undefined>;
17
+ readonly endpoint: pulumi.Output<string>;
18
+ readonly password: pulumi.Output<string>;
19
+ readonly proxy: pulumi.Output<string | undefined>;
20
+ readonly username: pulumi.Output<string>;
16
21
  /**
17
22
  * Create a Provider resource with the given unique name, arguments, and options.
18
23
  *
@@ -20,15 +25,18 @@ export declare class Provider extends pulumi.ProviderResource {
20
25
  * @param args The arguments to use to populate this resource's properties.
21
26
  * @param opts A bag of options that control this resource's behavior.
22
27
  */
23
- constructor(name: string, args?: ProviderArgs, opts?: pulumi.ResourceOptions);
28
+ constructor(name: string, args: ProviderArgs, opts?: pulumi.ResourceOptions);
24
29
  }
25
30
  /**
26
31
  * The set of arguments for constructing a Provider resource.
27
32
  */
28
33
  export interface ProviderArgs {
29
- readonly cacertFile?: pulumi.Input<string>;
30
- readonly endpoint?: pulumi.Input<string>;
31
- readonly insecure?: pulumi.Input<boolean>;
32
- readonly password?: pulumi.Input<string>;
33
- readonly username?: pulumi.Input<string>;
34
+ cacertFile?: pulumi.Input<string>;
35
+ clientcertFile?: pulumi.Input<string>;
36
+ clientkeyFile?: pulumi.Input<string>;
37
+ endpoint: pulumi.Input<string>;
38
+ insecure?: pulumi.Input<boolean>;
39
+ password: pulumi.Input<string>;
40
+ proxy?: pulumi.Input<string>;
41
+ username: pulumi.Input<string>;
34
42
  }
package/provider.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.Provider = void 0;
5
6
  const pulumi = require("@pulumi/pulumi");
6
7
  const utilities = require("./utilities");
7
8
  /**
@@ -9,8 +10,6 @@ const utilities = require("./utilities");
9
10
  * settings, however an explicit `Provider` instance may be created and passed during resource
10
11
  * construction to achieve fine-grained programmatic control over provider settings. See the
11
12
  * [documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.
12
- *
13
- * > This content is derived from https://github.com/terraform-providers/terraform-provider-rabbitmq/blob/master/website/docs/index.html.markdown.
14
13
  */
15
14
  class Provider extends pulumi.ProviderResource {
16
15
  /**
@@ -21,21 +20,30 @@ class Provider extends pulumi.ProviderResource {
21
20
  * @param opts A bag of options that control this resource's behavior.
22
21
  */
23
22
  constructor(name, args, opts) {
24
- let inputs = {};
23
+ var _a, _b;
24
+ let resourceInputs = {};
25
+ opts = opts || {};
25
26
  {
26
- inputs["cacertFile"] = (args ? args.cacertFile : undefined) || utilities.getEnv("RABBITMQ_CACERT");
27
- inputs["endpoint"] = (args ? args.endpoint : undefined) || utilities.getEnv("RABBITMQ_ENDPOINT");
28
- inputs["insecure"] = pulumi.output((args ? args.insecure : undefined) || utilities.getEnvBoolean("RABBITMQ_INSECURE")).apply(JSON.stringify);
29
- inputs["password"] = (args ? args.password : undefined) || utilities.getEnv("RABBITMQ_PASSWORD");
30
- inputs["username"] = (args ? args.username : undefined) || utilities.getEnv("RABBITMQ_USERNAME");
27
+ if ((!args || args.endpoint === undefined) && !opts.urn) {
28
+ throw new Error("Missing required property 'endpoint'");
29
+ }
30
+ if ((!args || args.password === undefined) && !opts.urn) {
31
+ throw new Error("Missing required property 'password'");
32
+ }
33
+ if ((!args || args.username === undefined) && !opts.urn) {
34
+ throw new Error("Missing required property 'username'");
35
+ }
36
+ resourceInputs["cacertFile"] = (_a = (args ? args.cacertFile : undefined)) !== null && _a !== void 0 ? _a : utilities.getEnv("RABBITMQ_CACERT");
37
+ resourceInputs["clientcertFile"] = args ? args.clientcertFile : undefined;
38
+ resourceInputs["clientkeyFile"] = args ? args.clientkeyFile : undefined;
39
+ resourceInputs["endpoint"] = args ? args.endpoint : undefined;
40
+ resourceInputs["insecure"] = pulumi.output((_b = (args ? args.insecure : undefined)) !== null && _b !== void 0 ? _b : utilities.getEnvBoolean("RABBITMQ_INSECURE")).apply(JSON.stringify);
41
+ resourceInputs["password"] = args ? args.password : undefined;
42
+ resourceInputs["proxy"] = args ? args.proxy : undefined;
43
+ resourceInputs["username"] = args ? args.username : undefined;
31
44
  }
32
- if (!opts) {
33
- opts = {};
34
- }
35
- if (!opts.version) {
36
- opts.version = utilities.getVersion();
37
- }
38
- super(Provider.__pulumiType, name, inputs, opts);
45
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
46
+ super(Provider.__pulumiType, name, resourceInputs, opts);
39
47
  }
40
48
  /**
41
49
  * Returns true if the given object is an instance of Provider. This is designed to work even
package/provider.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;GAOG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAgBjD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAmB,EAAE,IAA6B;QACxE,IAAI,MAAM,GAAkB,EAAE,CAAC;QAC/B;YACI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACnG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACjG,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7I,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACjG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;SACpG;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,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IApCD;;;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,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;;AAbL,4BAyCC;AAxCG,gBAAgB;AACO,qBAAY,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAuBjD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAkB,EAAE,IAA6B;;QACvE,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB;YACI,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,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,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,YAAY,CAAC,GAAG,MAAA,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,mCAAI,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC3G,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAA,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,mCAAI,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrJ,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAlDD;;;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,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;;AAbL,4BAuDC;AAtDG,gBAAgB;AACO,qBAAY,GAAG,UAAU,CAAC"}
package/queue.d.ts CHANGED
@@ -1,36 +1,36 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
- import * as inputs from "./types/input";
3
- import * as outputs from "./types/output";
2
+ import { input as inputs, output as outputs } from "./types";
4
3
  /**
5
- * The ``rabbitmq..Queue`` resource creates and manages a queue.
4
+ * The ``rabbitmq.Queue`` resource creates and manages a queue.
6
5
  *
7
6
  * ## Example Usage
8
- *
9
7
  * ### Basic Example
10
8
  *
11
9
  * ```typescript
12
10
  * import * as pulumi from "@pulumi/pulumi";
13
11
  * import * as rabbitmq from "@pulumi/rabbitmq";
14
12
  *
15
- * const testVHost = new rabbitmq.VHost("test", {});
13
+ * const testVHost = new rabbitmq.VHost("testVHost", {});
16
14
  * const guest = new rabbitmq.Permissions("guest", {
15
+ * user: "guest",
16
+ * vhost: testVHost.name,
17
17
  * permissions: {
18
18
  * configure: ".*",
19
- * read: ".*",
20
19
  * write: ".*",
20
+ * read: ".*",
21
21
  * },
22
- * user: "guest",
23
- * vhost: testVHost.name,
24
22
  * });
25
- * const testQueue = new rabbitmq.Queue("test", {
23
+ * const testQueue = new rabbitmq.Queue("testQueue", {
24
+ * vhost: guest.vhost,
26
25
  * settings: {
27
- * autoDelete: true,
28
26
  * durable: false,
27
+ * autoDelete: true,
28
+ * arguments: {
29
+ * "x-queue-type": "quorum",
30
+ * },
29
31
  * },
30
- * vhost: guest.vhost,
31
32
  * });
32
33
  * ```
33
- *
34
34
  * ### Example With JSON Arguments
35
35
  *
36
36
  * ```typescript
@@ -63,7 +63,13 @@ import * as outputs from "./types/output";
63
63
  * });
64
64
  * ```
65
65
  *
66
- * > This content is derived from https://github.com/terraform-providers/terraform-provider-rabbitmq/blob/master/website/docs/r/queue.html.markdown.
66
+ * ## Import
67
+ *
68
+ * Queues can be imported using the `id` which is composed of `name@vhost`. E.g.
69
+ *
70
+ * ```sh
71
+ * $ pulumi import rabbitmq:index/queue:Queue test name@vhost
72
+ * ```
67
73
  */
68
74
  export declare class Queue extends pulumi.CustomResource {
69
75
  /**
@@ -73,6 +79,7 @@ export declare class Queue extends pulumi.CustomResource {
73
79
  * @param name The _unique_ name of the resulting resource.
74
80
  * @param id The _unique_ provider ID of the resource to lookup.
75
81
  * @param state Any extra arguments used during the lookup.
82
+ * @param opts Optional settings to control the behavior of the CustomResource.
76
83
  */
77
84
  static get(name: string, id: pulumi.Input<pulumi.ID>, state?: QueueState, opts?: pulumi.CustomResourceOptions): Queue;
78
85
  /**
@@ -109,16 +116,16 @@ export interface QueueState {
109
116
  /**
110
117
  * The name of the queue.
111
118
  */
112
- readonly name?: pulumi.Input<string>;
119
+ name?: pulumi.Input<string>;
113
120
  /**
114
121
  * The settings of the queue. The structure is
115
122
  * described below.
116
123
  */
117
- readonly settings?: pulumi.Input<inputs.QueueSettings>;
124
+ settings?: pulumi.Input<inputs.QueueSettings>;
118
125
  /**
119
126
  * The vhost to create the resource in.
120
127
  */
121
- readonly vhost?: pulumi.Input<string>;
128
+ vhost?: pulumi.Input<string>;
122
129
  }
123
130
  /**
124
131
  * The set of arguments for constructing a Queue resource.
@@ -127,14 +134,14 @@ export interface QueueArgs {
127
134
  /**
128
135
  * The name of the queue.
129
136
  */
130
- readonly name?: pulumi.Input<string>;
137
+ name?: pulumi.Input<string>;
131
138
  /**
132
139
  * The settings of the queue. The structure is
133
140
  * described below.
134
141
  */
135
- readonly settings: pulumi.Input<inputs.QueueSettings>;
142
+ settings: pulumi.Input<inputs.QueueSettings>;
136
143
  /**
137
144
  * The vhost to create the resource in.
138
145
  */
139
- readonly vhost?: pulumi.Input<string>;
146
+ vhost?: pulumi.Input<string>;
140
147
  }
package/queue.js CHANGED
@@ -2,38 +2,40 @@
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.Queue = void 0;
5
6
  const pulumi = require("@pulumi/pulumi");
6
7
  const utilities = require("./utilities");
7
8
  /**
8
- * The ``rabbitmq..Queue`` resource creates and manages a queue.
9
+ * The ``rabbitmq.Queue`` resource creates and manages a queue.
9
10
  *
10
11
  * ## Example Usage
11
- *
12
12
  * ### Basic Example
13
13
  *
14
14
  * ```typescript
15
15
  * import * as pulumi from "@pulumi/pulumi";
16
16
  * import * as rabbitmq from "@pulumi/rabbitmq";
17
17
  *
18
- * const testVHost = new rabbitmq.VHost("test", {});
18
+ * const testVHost = new rabbitmq.VHost("testVHost", {});
19
19
  * const guest = new rabbitmq.Permissions("guest", {
20
+ * user: "guest",
21
+ * vhost: testVHost.name,
20
22
  * permissions: {
21
23
  * configure: ".*",
22
- * read: ".*",
23
24
  * write: ".*",
25
+ * read: ".*",
24
26
  * },
25
- * user: "guest",
26
- * vhost: testVHost.name,
27
27
  * });
28
- * const testQueue = new rabbitmq.Queue("test", {
28
+ * const testQueue = new rabbitmq.Queue("testQueue", {
29
+ * vhost: guest.vhost,
29
30
  * settings: {
30
- * autoDelete: true,
31
31
  * durable: false,
32
+ * autoDelete: true,
33
+ * arguments: {
34
+ * "x-queue-type": "quorum",
35
+ * },
32
36
  * },
33
- * vhost: guest.vhost,
34
37
  * });
35
38
  * ```
36
- *
37
39
  * ### Example With JSON Arguments
38
40
  *
39
41
  * ```typescript
@@ -66,33 +68,35 @@ const utilities = require("./utilities");
66
68
  * });
67
69
  * ```
68
70
  *
69
- * > This content is derived from https://github.com/terraform-providers/terraform-provider-rabbitmq/blob/master/website/docs/r/queue.html.markdown.
71
+ * ## Import
72
+ *
73
+ * Queues can be imported using the `id` which is composed of `name@vhost`. E.g.
74
+ *
75
+ * ```sh
76
+ * $ pulumi import rabbitmq:index/queue:Queue test name@vhost
77
+ * ```
70
78
  */
71
79
  class Queue extends pulumi.CustomResource {
72
80
  constructor(name, argsOrState, opts) {
73
- let inputs = {};
74
- if (opts && opts.id) {
81
+ let resourceInputs = {};
82
+ opts = opts || {};
83
+ if (opts.id) {
75
84
  const state = argsOrState;
76
- inputs["name"] = state ? state.name : undefined;
77
- inputs["settings"] = state ? state.settings : undefined;
78
- inputs["vhost"] = state ? state.vhost : undefined;
85
+ resourceInputs["name"] = state ? state.name : undefined;
86
+ resourceInputs["settings"] = state ? state.settings : undefined;
87
+ resourceInputs["vhost"] = state ? state.vhost : undefined;
79
88
  }
80
89
  else {
81
90
  const args = argsOrState;
82
- if (!args || args.settings === undefined) {
91
+ if ((!args || args.settings === undefined) && !opts.urn) {
83
92
  throw new Error("Missing required property 'settings'");
84
93
  }
85
- inputs["name"] = args ? args.name : undefined;
86
- inputs["settings"] = args ? args.settings : undefined;
87
- inputs["vhost"] = args ? args.vhost : undefined;
88
- }
89
- if (!opts) {
90
- opts = {};
91
- }
92
- if (!opts.version) {
93
- opts.version = utilities.getVersion();
94
+ resourceInputs["name"] = args ? args.name : undefined;
95
+ resourceInputs["settings"] = args ? args.settings : undefined;
96
+ resourceInputs["vhost"] = args ? args.vhost : undefined;
94
97
  }
95
- super(Queue.__pulumiType, name, inputs, opts);
98
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
99
+ super(Queue.__pulumiType, name, resourceInputs, opts);
96
100
  }
97
101
  /**
98
102
  * Get an existing Queue resource's state with the given name, ID, and optional extra
@@ -101,6 +105,7 @@ class Queue extends pulumi.CustomResource {
101
105
  * @param name The _unique_ name of the resulting resource.
102
106
  * @param id The _unique_ provider ID of the resource to lookup.
103
107
  * @param state Any extra arguments used during the lookup.
108
+ * @param opts Optional settings to control the behavior of the CustomResource.
104
109
  */
105
110
  static get(name, id, state, opts) {
106
111
  return new Queue(name, state, Object.assign(Object.assign({}, opts), { id: id }));
package/queue.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"queue.js","sourceRoot":"","sources":["../queue.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAa,KAAM,SAAQ,MAAM,CAAC,cAAc;IAiD5C,YAAY,IAAY,EAAE,WAAoC,EAAE,IAAmC;QAC/F,IAAI,MAAM,GAAkB,EAAE,CAAC;QAC/B,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE;YACjB,MAAM,KAAK,GAAG,WAAqC,CAAC;YACpD,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,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SACrD;aAAM;YACH,MAAM,IAAI,GAAG,WAAoC,CAAC;YAClD,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,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,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAxED;;;;;;;OAOG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAkB,EAAE,IAAmC;QAChH,OAAO,IAAI,KAAK,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC5D,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,KAAK,CAAC,YAAY,CAAC;IACtD,CAAC;;AAzBL,sBA0EC;AA7DG,gBAAgB;AACO,kBAAY,GAAG,4BAA4B,CAAC"}
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../queue.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,MAAa,KAAM,SAAQ,MAAM,CAAC,cAAc;IAkD5C,YAAY,IAAY,EAAE,WAAoC,EAAE,IAAmC;QAC/F,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAqC,CAAC;YACpD,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,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;SAC7D;aAAM;YACH,MAAM,IAAI,GAAG,WAAoC,CAAC;YAClD,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,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,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IApED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAkB,EAAE,IAAmC;QAChH,OAAO,IAAI,KAAK,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC5D,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,KAAK,CAAC,YAAY,CAAC;IACtD,CAAC;;AA1BL,sBAsEC;AAxDG,gBAAgB;AACO,kBAAY,GAAG,4BAA4B,CAAC"}
package/shovel.d.ts ADDED
@@ -0,0 +1,121 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { input as inputs, output as outputs } from "./types";
3
+ /**
4
+ * The ``rabbitmq.Shovel`` resource creates and manages a dynamic shovel.
5
+ *
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as rabbitmq from "@pulumi/rabbitmq";
11
+ *
12
+ * const testVHost = new rabbitmq.VHost("test", {});
13
+ * const testExchange = new rabbitmq.Exchange("test", {
14
+ * settings: {
15
+ * autoDelete: true,
16
+ * durable: false,
17
+ * type: "fanout",
18
+ * },
19
+ * vhost: testVHost.name,
20
+ * });
21
+ * const testQueue = new rabbitmq.Queue("test", {
22
+ * settings: {
23
+ * autoDelete: true,
24
+ * durable: false,
25
+ * },
26
+ * vhost: testVHost.name,
27
+ * });
28
+ * const shovelTest = new rabbitmq.Shovel("shovelTest", {
29
+ * info: {
30
+ * destinationQueue: testQueue.name,
31
+ * destinationUri: "amqp:///test",
32
+ * sourceExchange: testExchange.name,
33
+ * sourceExchangeKey: "test",
34
+ * sourceUri: "amqp:///test",
35
+ * },
36
+ * vhost: testVHost.name,
37
+ * });
38
+ * ```
39
+ *
40
+ * ## Import
41
+ *
42
+ * Shovels can be imported using the `name` and `vhost` E.g.
43
+ *
44
+ * ```sh
45
+ * $ pulumi import rabbitmq:index/shovel:Shovel test shovelTest@test
46
+ * ```
47
+ */
48
+ export declare class Shovel extends pulumi.CustomResource {
49
+ /**
50
+ * Get an existing Shovel resource's state with the given name, ID, and optional extra
51
+ * properties used to qualify the lookup.
52
+ *
53
+ * @param name The _unique_ name of the resulting resource.
54
+ * @param id The _unique_ provider ID of the resource to lookup.
55
+ * @param state Any extra arguments used during the lookup.
56
+ * @param opts Optional settings to control the behavior of the CustomResource.
57
+ */
58
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ShovelState, opts?: pulumi.CustomResourceOptions): Shovel;
59
+ /**
60
+ * Returns true if the given object is an instance of Shovel. This is designed to work even
61
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
62
+ */
63
+ static isInstance(obj: any): obj is Shovel;
64
+ /**
65
+ * The settings of the dynamic shovel. The structure is
66
+ * described below.
67
+ */
68
+ readonly info: pulumi.Output<outputs.ShovelInfo>;
69
+ /**
70
+ * The shovel name.
71
+ */
72
+ readonly name: pulumi.Output<string>;
73
+ /**
74
+ * The vhost to create the resource in.
75
+ */
76
+ readonly vhost: pulumi.Output<string>;
77
+ /**
78
+ * Create a Shovel resource with the given unique name, arguments, and options.
79
+ *
80
+ * @param name The _unique_ name of the resource.
81
+ * @param args The arguments to use to populate this resource's properties.
82
+ * @param opts A bag of options that control this resource's behavior.
83
+ */
84
+ constructor(name: string, args: ShovelArgs, opts?: pulumi.CustomResourceOptions);
85
+ }
86
+ /**
87
+ * Input properties used for looking up and filtering Shovel resources.
88
+ */
89
+ export interface ShovelState {
90
+ /**
91
+ * The settings of the dynamic shovel. The structure is
92
+ * described below.
93
+ */
94
+ info?: pulumi.Input<inputs.ShovelInfo>;
95
+ /**
96
+ * The shovel name.
97
+ */
98
+ name?: pulumi.Input<string>;
99
+ /**
100
+ * The vhost to create the resource in.
101
+ */
102
+ vhost?: pulumi.Input<string>;
103
+ }
104
+ /**
105
+ * The set of arguments for constructing a Shovel resource.
106
+ */
107
+ export interface ShovelArgs {
108
+ /**
109
+ * The settings of the dynamic shovel. The structure is
110
+ * described below.
111
+ */
112
+ info: pulumi.Input<inputs.ShovelInfo>;
113
+ /**
114
+ * The shovel name.
115
+ */
116
+ name?: pulumi.Input<string>;
117
+ /**
118
+ * The vhost to create the resource in.
119
+ */
120
+ vhost: pulumi.Input<string>;
121
+ }
package/shovel.js ADDED
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.Shovel = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * The ``rabbitmq.Shovel`` resource creates and manages a dynamic shovel.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ```typescript
14
+ * import * as pulumi from "@pulumi/pulumi";
15
+ * import * as rabbitmq from "@pulumi/rabbitmq";
16
+ *
17
+ * const testVHost = new rabbitmq.VHost("test", {});
18
+ * const testExchange = new rabbitmq.Exchange("test", {
19
+ * settings: {
20
+ * autoDelete: true,
21
+ * durable: false,
22
+ * type: "fanout",
23
+ * },
24
+ * vhost: testVHost.name,
25
+ * });
26
+ * const testQueue = new rabbitmq.Queue("test", {
27
+ * settings: {
28
+ * autoDelete: true,
29
+ * durable: false,
30
+ * },
31
+ * vhost: testVHost.name,
32
+ * });
33
+ * const shovelTest = new rabbitmq.Shovel("shovelTest", {
34
+ * info: {
35
+ * destinationQueue: testQueue.name,
36
+ * destinationUri: "amqp:///test",
37
+ * sourceExchange: testExchange.name,
38
+ * sourceExchangeKey: "test",
39
+ * sourceUri: "amqp:///test",
40
+ * },
41
+ * vhost: testVHost.name,
42
+ * });
43
+ * ```
44
+ *
45
+ * ## Import
46
+ *
47
+ * Shovels can be imported using the `name` and `vhost` E.g.
48
+ *
49
+ * ```sh
50
+ * $ pulumi import rabbitmq:index/shovel:Shovel test shovelTest@test
51
+ * ```
52
+ */
53
+ class Shovel extends pulumi.CustomResource {
54
+ constructor(name, argsOrState, opts) {
55
+ let resourceInputs = {};
56
+ opts = opts || {};
57
+ if (opts.id) {
58
+ const state = argsOrState;
59
+ resourceInputs["info"] = state ? state.info : undefined;
60
+ resourceInputs["name"] = state ? state.name : undefined;
61
+ resourceInputs["vhost"] = state ? state.vhost : undefined;
62
+ }
63
+ else {
64
+ const args = argsOrState;
65
+ if ((!args || args.info === undefined) && !opts.urn) {
66
+ throw new Error("Missing required property 'info'");
67
+ }
68
+ if ((!args || args.vhost === undefined) && !opts.urn) {
69
+ throw new Error("Missing required property 'vhost'");
70
+ }
71
+ resourceInputs["info"] = args ? args.info : undefined;
72
+ resourceInputs["name"] = args ? args.name : undefined;
73
+ resourceInputs["vhost"] = args ? args.vhost : undefined;
74
+ }
75
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
76
+ super(Shovel.__pulumiType, name, resourceInputs, opts);
77
+ }
78
+ /**
79
+ * Get an existing Shovel resource's state with the given name, ID, and optional extra
80
+ * properties used to qualify the lookup.
81
+ *
82
+ * @param name The _unique_ name of the resulting resource.
83
+ * @param id The _unique_ provider ID of the resource to lookup.
84
+ * @param state Any extra arguments used during the lookup.
85
+ * @param opts Optional settings to control the behavior of the CustomResource.
86
+ */
87
+ static get(name, id, state, opts) {
88
+ return new Shovel(name, state, Object.assign(Object.assign({}, opts), { id: id }));
89
+ }
90
+ /**
91
+ * Returns true if the given object is an instance of Shovel. This is designed to work even
92
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
93
+ */
94
+ static isInstance(obj) {
95
+ if (obj === undefined || obj === null) {
96
+ return false;
97
+ }
98
+ return obj['__pulumiType'] === Shovel.__pulumiType;
99
+ }
100
+ }
101
+ exports.Shovel = Shovel;
102
+ /** @internal */
103
+ Shovel.__pulumiType = 'rabbitmq:index/shovel:Shovel';
104
+ //# sourceMappingURL=shovel.js.map
package/shovel.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shovel.js","sourceRoot":"","sources":["../shovel.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IAkD7C,YAAY,IAAY,EAAE,WAAsC,EAAE,IAAmC;QACjG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAsC,CAAC;YACrD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,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,WAAqC,CAAC;YACnD,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,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;aACxD;YACD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,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,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAvED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAmB,EAAE,IAAmC;QACjH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IAC7D,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,MAAM,CAAC,YAAY,CAAC;IACvD,CAAC;;AA1BL,wBAyEC;AA3DG,gBAAgB;AACO,mBAAY,GAAG,8BAA8B,CAAC"}
@@ -1,8 +1,7 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
- import * as inputs from "./types/input";
3
- import * as outputs from "./types/output";
2
+ import { input as inputs, output as outputs } from "./types";
4
3
  /**
5
- * The ``rabbitmq..TopicPermissions`` resource creates and manages a user's set of
4
+ * The ``rabbitmq.TopicPermissions`` resource creates and manages a user's set of
6
5
  * topic permissions.
7
6
  *
8
7
  * ## Example Usage
@@ -27,7 +26,15 @@ import * as outputs from "./types/output";
27
26
  * });
28
27
  * ```
29
28
  *
30
- * > This content is derived from https://github.com/terraform-providers/terraform-provider-rabbitmq/blob/master/website/docs/r/topic-permissions.html.markdown.
29
+ * ## Import
30
+ *
31
+ * Permissions can be imported using the `id` which is composed of
32
+ *
33
+ * `user@vhost`. E.g.
34
+ *
35
+ * ```sh
36
+ * $ pulumi import rabbitmq:index/topicPermissions:TopicPermissions test user@vhost
37
+ * ```
31
38
  */
32
39
  export declare class TopicPermissions extends pulumi.CustomResource {
33
40
  /**
@@ -37,6 +44,7 @@ export declare class TopicPermissions extends pulumi.CustomResource {
37
44
  * @param name The _unique_ name of the resulting resource.
38
45
  * @param id The _unique_ provider ID of the resource to lookup.
39
46
  * @param state Any extra arguments used during the lookup.
47
+ * @param opts Optional settings to control the behavior of the CustomResource.
40
48
  */
41
49
  static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TopicPermissionsState, opts?: pulumi.CustomResourceOptions): TopicPermissions;
42
50
  /**
@@ -74,15 +82,15 @@ export interface TopicPermissionsState {
74
82
  * The settings of the permissions. The structure is
75
83
  * described below.
76
84
  */
77
- readonly permissions?: pulumi.Input<pulumi.Input<inputs.TopicPermissionsPermission>[]>;
85
+ permissions?: pulumi.Input<pulumi.Input<inputs.TopicPermissionsPermission>[]>;
78
86
  /**
79
87
  * The user to apply the permissions to.
80
88
  */
81
- readonly user?: pulumi.Input<string>;
89
+ user?: pulumi.Input<string>;
82
90
  /**
83
91
  * The vhost to create the resource in.
84
92
  */
85
- readonly vhost?: pulumi.Input<string>;
93
+ vhost?: pulumi.Input<string>;
86
94
  }
87
95
  /**
88
96
  * The set of arguments for constructing a TopicPermissions resource.
@@ -92,13 +100,13 @@ export interface TopicPermissionsArgs {
92
100
  * The settings of the permissions. The structure is
93
101
  * described below.
94
102
  */
95
- readonly permissions: pulumi.Input<pulumi.Input<inputs.TopicPermissionsPermission>[]>;
103
+ permissions: pulumi.Input<pulumi.Input<inputs.TopicPermissionsPermission>[]>;
96
104
  /**
97
105
  * The user to apply the permissions to.
98
106
  */
99
- readonly user: pulumi.Input<string>;
107
+ user: pulumi.Input<string>;
100
108
  /**
101
109
  * The vhost to create the resource in.
102
110
  */
103
- readonly vhost?: pulumi.Input<string>;
111
+ vhost?: pulumi.Input<string>;
104
112
  }