@pulumi/cloudamqp 3.26.1 → 3.27.0-alpha.1770934853
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.
- package/alarm.d.ts +120 -12
- package/alarm.js +120 -12
- package/alarm.js.map +1 -1
- package/config/vars.d.ts +3 -0
- package/config/vars.js.map +1 -1
- package/customDomain.d.ts +0 -26
- package/customDomain.js +0 -26
- package/customDomain.js.map +1 -1
- package/extraDiskSize.d.ts +0 -1
- package/extraDiskSize.js +0 -1
- package/extraDiskSize.js.map +1 -1
- package/getVpcGcpInfo.d.ts +108 -0
- package/getVpcGcpInfo.js +108 -0
- package/getVpcGcpInfo.js.map +1 -1
- package/getVpcInfo.d.ts +108 -0
- package/getVpcInfo.js +108 -0
- package/getVpcInfo.js.map +1 -1
- package/instance.d.ts +0 -24
- package/instance.js +0 -24
- package/instance.js.map +1 -1
- package/integrationAwsEventbridge.d.ts +0 -34
- package/integrationAwsEventbridge.js +0 -34
- package/integrationAwsEventbridge.js.map +1 -1
- package/integrationLog.d.ts +0 -44
- package/integrationLog.js +0 -44
- package/integrationLog.js.map +1 -1
- package/integrationMetric.d.ts +0 -34
- package/integrationMetric.js +0 -34
- package/integrationMetric.js.map +1 -1
- package/integrationMetricPrometheus.d.ts +2 -40
- package/integrationMetricPrometheus.js +2 -40
- package/integrationMetricPrometheus.js.map +1 -1
- package/maintenanceWindow.d.ts +0 -28
- package/maintenanceWindow.js +0 -28
- package/maintenanceWindow.js.map +1 -1
- package/notification.d.ts +0 -28
- package/notification.js +0 -28
- package/notification.js.map +1 -1
- package/oauth2Configuration.d.ts +0 -22
- package/oauth2Configuration.js +0 -22
- package/oauth2Configuration.js.map +1 -1
- package/package.json +2 -2
- package/plugin.d.ts +128 -13
- package/plugin.js +128 -13
- package/plugin.js.map +1 -1
- package/pluginCommunity.d.ts +50 -14
- package/pluginCommunity.js +50 -14
- package/pluginCommunity.js.map +1 -1
- package/privatelinkAws.d.ts +139 -12
- package/privatelinkAws.js +139 -12
- package/privatelinkAws.js.map +1 -1
- package/privatelinkAzure.d.ts +138 -13
- package/privatelinkAzure.js +138 -13
- package/privatelinkAzure.js.map +1 -1
- package/provider.d.ts +3 -0
- package/rabbitConfiguration.d.ts +293 -12
- package/rabbitConfiguration.js +293 -12
- package/rabbitConfiguration.js.map +1 -1
- package/securityFirewall.d.ts +157 -12
- package/securityFirewall.js +157 -12
- package/securityFirewall.js.map +1 -1
- package/trustStore.d.ts +0 -24
- package/trustStore.js +0 -24
- package/trustStore.js.map +1 -1
- package/upgradeLavinmq.d.ts +41 -0
- package/upgradeLavinmq.js +41 -0
- package/upgradeLavinmq.js.map +1 -1
- package/upgradeRabbitmq.d.ts +152 -0
- package/upgradeRabbitmq.js +152 -0
- package/upgradeRabbitmq.js.map +1 -1
- package/vpc.d.ts +0 -28
- package/vpc.js +0 -28
- package/vpc.js.map +1 -1
- package/vpcConnect.d.ts +220 -12
- package/vpcConnect.js +220 -12
- package/vpcConnect.js.map +1 -1
- package/vpcGcpPeering.d.ts +252 -6
- package/vpcGcpPeering.js +252 -6
- package/vpcGcpPeering.js.map +1 -1
- package/vpcPeering.d.ts +305 -5
- package/vpcPeering.js +305 -5
- package/vpcPeering.js.map +1 -1
- package/webhook.d.ts +94 -12
- package/webhook.js +94 -12
- package/webhook.js.map +1 -1
package/plugin.js
CHANGED
|
@@ -6,31 +6,146 @@ exports.Plugin = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* This resource allows you to enable or disable Rabbit MQ plugins.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
11
|
+
* Only available for dedicated subscription plans running ***RabbitMQ***.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
13
|
+
* ## Example Usage
|
|
14
14
|
*
|
|
15
|
-
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
17
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
16
18
|
*
|
|
17
|
-
*
|
|
19
|
+
* const rabbitmqTop = new cloudamqp.Plugin("rabbitmq_top", {
|
|
20
|
+
* instanceId: instance.id,
|
|
21
|
+
* name: "rabbitmq_top",
|
|
22
|
+
* enabled: true,
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* <details>
|
|
27
|
+
* <summary>
|
|
28
|
+
* <b>
|
|
29
|
+
* <i>Enable multiple plugins v1.19.1 and older versions</i>
|
|
30
|
+
* </b>
|
|
31
|
+
* </summary>
|
|
32
|
+
*
|
|
33
|
+
* Rabbit MQ can only change one plugin at a time. It will fail if multiple plugins resources are used,
|
|
34
|
+
* unless by creating dependencies with `dependOn` between the resources. Once one plugin has been
|
|
35
|
+
* enabled, the other will continue. See example below.
|
|
18
36
|
*
|
|
19
|
-
*
|
|
37
|
+
* ```typescript
|
|
38
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
39
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
20
40
|
*
|
|
21
|
-
*
|
|
41
|
+
* const rabbitmqTop = new cloudamqp.Plugin("rabbitmq_top", {
|
|
42
|
+
* instanceId: instance.id,
|
|
43
|
+
* name: "rabbitmq_top",
|
|
44
|
+
* enabled: true,
|
|
45
|
+
* });
|
|
46
|
+
* const rabbitmqAmqp10 = new cloudamqp.Plugin("rabbitmq_amqp1_0", {
|
|
47
|
+
* instanceId: instance.id,
|
|
48
|
+
* name: "rabbitmq_amqp1_0",
|
|
49
|
+
* enabled: true,
|
|
50
|
+
* }, {
|
|
51
|
+
* dependsOn: [rabbitmqTop],
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
22
54
|
*
|
|
23
|
-
*
|
|
55
|
+
* </details>
|
|
24
56
|
*
|
|
25
|
-
*
|
|
57
|
+
* <details>
|
|
58
|
+
* <summary>
|
|
59
|
+
* <b>
|
|
60
|
+
* <i>Enable multiple plugins from </i>
|
|
61
|
+
* <a href="https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.19.2">v1.19.2</a>
|
|
62
|
+
* </b>
|
|
63
|
+
* </summary>
|
|
26
64
|
*
|
|
27
|
-
*
|
|
65
|
+
* CloudAMQP Terraform provider [v1.19.2] support asynchronous request for plugin actions.
|
|
28
66
|
*
|
|
29
|
-
*
|
|
67
|
+
* ```typescript
|
|
68
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
69
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
30
70
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
71
|
+
* const rabbitmqTop = new cloudamqp.Plugin("rabbitmq_top", {
|
|
72
|
+
* instanceId: instance.id,
|
|
73
|
+
* name: "rabbitmq_top",
|
|
74
|
+
* enabled: true,
|
|
75
|
+
* });
|
|
76
|
+
* const rabbitmqAmqp10 = new cloudamqp.Plugin("rabbitmq_amqp1_0", {
|
|
77
|
+
* instanceId: instance.id,
|
|
78
|
+
* name: "rabbitmq_amqp1_0",
|
|
79
|
+
* enabled: true,
|
|
80
|
+
* });
|
|
33
81
|
* ```
|
|
82
|
+
*
|
|
83
|
+
* </details>
|
|
84
|
+
*
|
|
85
|
+
* <details>
|
|
86
|
+
* <summary>
|
|
87
|
+
* <b>
|
|
88
|
+
* <i>Faster instance destroy when running `terraform destroy` from </i>
|
|
89
|
+
* <a href="https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.27.0">v1.27.0</a>
|
|
90
|
+
* </b>
|
|
91
|
+
* </summary>
|
|
92
|
+
*
|
|
93
|
+
* CloudAMQP Terraform provider [v1.27.0] enables faster `cloudamqp.Instance` destroy when running
|
|
94
|
+
* `terraform destroy`.
|
|
95
|
+
*
|
|
96
|
+
* ```typescript
|
|
97
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
98
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
99
|
+
*
|
|
100
|
+
* const instance = new cloudamqp.Instance("instance", {
|
|
101
|
+
* name: "terraform-cloudamqp-instance",
|
|
102
|
+
* plan: "bunny-1",
|
|
103
|
+
* region: "amazon-web-services::us-west-1",
|
|
104
|
+
* tags: ["terraform"],
|
|
105
|
+
* });
|
|
106
|
+
* const rabbitmqTop = new cloudamqp.Plugin("rabbitmq_top", {
|
|
107
|
+
* instanceId: instance.id,
|
|
108
|
+
* name: "rabbitmq_top",
|
|
109
|
+
* enabled: true,
|
|
110
|
+
* });
|
|
111
|
+
* const rabbitmqAmqp10 = new cloudamqp.Plugin("rabbitmq_amqp1_0", {
|
|
112
|
+
* instanceId: instance.id,
|
|
113
|
+
* name: "rabbitmq_amqp1_0",
|
|
114
|
+
* enabled: true,
|
|
115
|
+
* });
|
|
116
|
+
* ```
|
|
117
|
+
*
|
|
118
|
+
* </details>
|
|
119
|
+
*
|
|
120
|
+
* ## Dependency
|
|
121
|
+
*
|
|
122
|
+
* This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
|
|
123
|
+
*
|
|
124
|
+
* If multiple plugins should be enable, create dependencies between the plugin resources. See example
|
|
125
|
+
* above.
|
|
126
|
+
*
|
|
127
|
+
* ## Required plugins
|
|
128
|
+
*
|
|
129
|
+
* Plugins that is not needed to be managed by the provider since they will always be enabled. We have
|
|
130
|
+
* made `rabbitmqPrometheus` required for all clusters since RabbitMQ version 3.10.0.
|
|
131
|
+
*
|
|
132
|
+
* | Name | Version |
|
|
133
|
+
* |---------------------------|---------|
|
|
134
|
+
* | rabbitmqManagement | all |
|
|
135
|
+
* | rabbitmqManagementAgent | all |
|
|
136
|
+
* | rabbitmqPrometheus | 3.10.0 |
|
|
137
|
+
*
|
|
138
|
+
* ## Enable faster instance destroy
|
|
139
|
+
*
|
|
140
|
+
* When running `terraform destroy` this resource will try to disable the managed plugin before
|
|
141
|
+
* deleting `cloudamqp.Instance`. This is not necessary since the servers will be deleted.
|
|
142
|
+
*
|
|
143
|
+
* Set `enableFasterInstanceDestroy` to ***true*** in the provider configuration to skip this.
|
|
144
|
+
*
|
|
145
|
+
* [CloudAMQP API list plugins]: https://docs.cloudamqp.com/instance-api.html#tag/plugins/get/plugins
|
|
146
|
+
* [v1.19.2]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.19.2
|
|
147
|
+
* [v1.27.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.27.0
|
|
148
|
+
* [v1.29.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.29.0
|
|
34
149
|
*/
|
|
35
150
|
class Plugin extends pulumi.CustomResource {
|
|
36
151
|
/**
|
package/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../plugin.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../plugin.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6IG;AACH,MAAa,MAAO,SAAQ,MAAM,CAAC,cAAc;IAC7C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAmB,EAAE,IAAmC;QACjH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,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;IA6CD,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,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAAqC,CAAC;YACnD,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClD,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACjD;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;;AArGL,wBAsGC;AAxFG,gBAAgB;AACO,mBAAY,GAAG,+BAA+B,CAAC"}
|
package/pluginCommunity.d.ts
CHANGED
|
@@ -1,30 +1,66 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* This resource allows you to install or uninstall community plugins. Once installed the plugin will
|
|
4
|
+
* be available in `cloudamqp.Plugin`.
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
+
* Only available for dedicated subscription plans running ***RabbitMQ***.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
+
* ## Example Usage
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
12
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
10
13
|
*
|
|
11
|
-
*
|
|
14
|
+
* const rabbitmqDelayedMessageExchange = new cloudamqp.PluginCommunity("rabbitmq_delayed_message_exchange", {
|
|
15
|
+
* instanceId: instance.id,
|
|
16
|
+
* name: "rabbitmq_delayed_message_exchange",
|
|
17
|
+
* enabled: true,
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* <details>
|
|
22
|
+
* <summary>
|
|
23
|
+
* <b>
|
|
24
|
+
* <i>Faster instance destroy when running `terraform destroy` from [v1.27.0]</i>
|
|
25
|
+
* </b>
|
|
26
|
+
* </summary>
|
|
12
27
|
*
|
|
13
|
-
*
|
|
28
|
+
* CloudAMQP Terraform provider [v1.27.0] enables faster `cloudamqp.Instance` destroy when running
|
|
29
|
+
* `terraform destroy`.
|
|
14
30
|
*
|
|
15
|
-
*
|
|
31
|
+
* ```typescript
|
|
32
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
33
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
16
34
|
*
|
|
17
|
-
*
|
|
35
|
+
* const instance = new cloudamqp.Instance("instance", {
|
|
36
|
+
* name: "terraform-cloudamqp-instance",
|
|
37
|
+
* plan: "bunny-1",
|
|
38
|
+
* region: "amazon-web-services::us-west-1",
|
|
39
|
+
* tags: ["terraform"],
|
|
40
|
+
* });
|
|
41
|
+
* const rabbitmqDelayedMessageExchange = new cloudamqp.PluginCommunity("rabbitmq_delayed_message_exchange", {
|
|
42
|
+
* instanceId: instance.id,
|
|
43
|
+
* name: "rabbitmq_delayed_message_exchange",
|
|
44
|
+
* enabled: true,
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
18
47
|
*
|
|
19
|
-
*
|
|
48
|
+
* </details>
|
|
20
49
|
*
|
|
21
|
-
*
|
|
50
|
+
* ## Dependency
|
|
22
51
|
*
|
|
23
|
-
*
|
|
52
|
+
* This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
|
|
24
53
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
54
|
+
* ## Enable faster instance destroy
|
|
55
|
+
*
|
|
56
|
+
* When running `terraform destroy` this resource will try to uninstall the managed community plugin
|
|
57
|
+
* before deleting `cloudamqp.Instance`. This is not necessary since the servers will be deleted.
|
|
58
|
+
*
|
|
59
|
+
* Set `enableFasterInstanceDestroy` to ***true*** in the provider configuration to skip this.
|
|
60
|
+
*
|
|
61
|
+
* [CloudAMQP API list community plugins]: https://docs.cloudamqp.com/instance-api.html#tag/plugins/get/plugins/community
|
|
62
|
+
* [v1.27.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.27.0
|
|
63
|
+
* [v1.29.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.29.0
|
|
28
64
|
*/
|
|
29
65
|
export declare class PluginCommunity extends pulumi.CustomResource {
|
|
30
66
|
/**
|
package/pluginCommunity.js
CHANGED
|
@@ -6,31 +6,67 @@ exports.PluginCommunity = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* This resource allows you to install or uninstall community plugins. Once installed the plugin will
|
|
10
|
+
* be available in `cloudamqp.Plugin`.
|
|
10
11
|
*
|
|
11
|
-
*
|
|
12
|
+
* Only available for dedicated subscription plans running ***RabbitMQ***.
|
|
12
13
|
*
|
|
13
|
-
*
|
|
14
|
+
* ## Example Usage
|
|
14
15
|
*
|
|
15
|
-
*
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
18
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
16
19
|
*
|
|
17
|
-
*
|
|
20
|
+
* const rabbitmqDelayedMessageExchange = new cloudamqp.PluginCommunity("rabbitmq_delayed_message_exchange", {
|
|
21
|
+
* instanceId: instance.id,
|
|
22
|
+
* name: "rabbitmq_delayed_message_exchange",
|
|
23
|
+
* enabled: true,
|
|
24
|
+
* });
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* <details>
|
|
28
|
+
* <summary>
|
|
29
|
+
* <b>
|
|
30
|
+
* <i>Faster instance destroy when running `terraform destroy` from [v1.27.0]</i>
|
|
31
|
+
* </b>
|
|
32
|
+
* </summary>
|
|
18
33
|
*
|
|
19
|
-
*
|
|
34
|
+
* CloudAMQP Terraform provider [v1.27.0] enables faster `cloudamqp.Instance` destroy when running
|
|
35
|
+
* `terraform destroy`.
|
|
20
36
|
*
|
|
21
|
-
*
|
|
37
|
+
* ```typescript
|
|
38
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
39
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
22
40
|
*
|
|
23
|
-
*
|
|
41
|
+
* const instance = new cloudamqp.Instance("instance", {
|
|
42
|
+
* name: "terraform-cloudamqp-instance",
|
|
43
|
+
* plan: "bunny-1",
|
|
44
|
+
* region: "amazon-web-services::us-west-1",
|
|
45
|
+
* tags: ["terraform"],
|
|
46
|
+
* });
|
|
47
|
+
* const rabbitmqDelayedMessageExchange = new cloudamqp.PluginCommunity("rabbitmq_delayed_message_exchange", {
|
|
48
|
+
* instanceId: instance.id,
|
|
49
|
+
* name: "rabbitmq_delayed_message_exchange",
|
|
50
|
+
* enabled: true,
|
|
51
|
+
* });
|
|
52
|
+
* ```
|
|
24
53
|
*
|
|
25
|
-
*
|
|
54
|
+
* </details>
|
|
26
55
|
*
|
|
27
|
-
*
|
|
56
|
+
* ## Dependency
|
|
28
57
|
*
|
|
29
|
-
*
|
|
58
|
+
* This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
|
|
30
59
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
60
|
+
* ## Enable faster instance destroy
|
|
61
|
+
*
|
|
62
|
+
* When running `terraform destroy` this resource will try to uninstall the managed community plugin
|
|
63
|
+
* before deleting `cloudamqp.Instance`. This is not necessary since the servers will be deleted.
|
|
64
|
+
*
|
|
65
|
+
* Set `enableFasterInstanceDestroy` to ***true*** in the provider configuration to skip this.
|
|
66
|
+
*
|
|
67
|
+
* [CloudAMQP API list community plugins]: https://docs.cloudamqp.com/instance-api.html#tag/plugins/get/plugins/community
|
|
68
|
+
* [v1.27.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.27.0
|
|
69
|
+
* [v1.29.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.29.0
|
|
34
70
|
*/
|
|
35
71
|
class PluginCommunity extends pulumi.CustomResource {
|
|
36
72
|
/**
|
package/pluginCommunity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginCommunity.js","sourceRoot":"","sources":["../pluginCommunity.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"pluginCommunity.js","sourceRoot":"","sources":["../pluginCommunity.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,MAAa,eAAgB,SAAQ,MAAM,CAAC,cAAc;IACtD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA4B,EAAE,IAAmC;QAC1H,OAAO,IAAI,eAAe,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACtE,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,eAAe,CAAC,YAAY,CAAC;IAChE,CAAC;IA6CD,YAAY,IAAY,EAAE,WAAwD,EAAE,IAAmC;QACnH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA+C,CAAC;YAC9D,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAA8C,CAAC;YAC5D,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClD,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACjD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;;AArGL,0CAsGC;AAxFG,gBAAgB;AACO,4BAAY,GAAG,iDAAiD,CAAC"}
|
package/privatelinkAws.d.ts
CHANGED
|
@@ -1,28 +1,155 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Enable PrivateLink for a CloudAMQP instance hosted in AWS. If no existing VPC available when enable
|
|
4
|
+
* PrivateLink, a new VPC will be created with subnet `10.52.72.0/24`.
|
|
4
5
|
*
|
|
5
|
-
*
|
|
6
|
+
* > **Note:** Enabling PrivateLink will automatically add firewall rules for the peered subnet.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
+
* <details>
|
|
9
|
+
* <summary>
|
|
10
|
+
* <i>Default PrivateLink firewall rule</i>
|
|
11
|
+
* </summary>
|
|
8
12
|
*
|
|
9
|
-
*
|
|
13
|
+
* ## Example Usage
|
|
10
14
|
*
|
|
11
|
-
*
|
|
15
|
+
* <details>
|
|
16
|
+
* <summary>
|
|
17
|
+
* <b>
|
|
18
|
+
* <i>CloudAMQP instance without existing VPC</i>
|
|
19
|
+
* </b>
|
|
20
|
+
* </summary>
|
|
12
21
|
*
|
|
13
|
-
*
|
|
22
|
+
* ```typescript
|
|
23
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
24
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
14
25
|
*
|
|
15
|
-
*
|
|
26
|
+
* const instance = new cloudamqp.Instance("instance", {
|
|
27
|
+
* name: "Instance 01",
|
|
28
|
+
* plan: "bunny-1",
|
|
29
|
+
* region: "amazon-web-services::us-west-1",
|
|
30
|
+
* tags: [],
|
|
31
|
+
* });
|
|
32
|
+
* const privatelink = new cloudamqp.PrivatelinkAws("privatelink", {
|
|
33
|
+
* instanceId: instance.id,
|
|
34
|
+
* allowedPrincipals: ["arn:aws:iam::aws-account-id:user/user-name"],
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* </details>
|
|
39
|
+
*
|
|
40
|
+
* <details>
|
|
41
|
+
* <summary>
|
|
42
|
+
* <b>
|
|
43
|
+
* <i>CloudAMQP instance in an existing VPC</i>
|
|
44
|
+
* </b>
|
|
45
|
+
* </summary>
|
|
46
|
+
*
|
|
47
|
+
* ```typescript
|
|
48
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
49
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
50
|
+
*
|
|
51
|
+
* const vpc = new cloudamqp.Vpc("vpc", {
|
|
52
|
+
* name: "Standalone VPC",
|
|
53
|
+
* region: "amazon-web-services::us-west-1",
|
|
54
|
+
* subnet: "10.56.72.0/24",
|
|
55
|
+
* tags: [],
|
|
56
|
+
* });
|
|
57
|
+
* const instance = new cloudamqp.Instance("instance", {
|
|
58
|
+
* name: "Instance 01",
|
|
59
|
+
* plan: "bunny-1",
|
|
60
|
+
* region: "amazon-web-services::us-west-1",
|
|
61
|
+
* tags: [],
|
|
62
|
+
* vpcId: vpc.id,
|
|
63
|
+
* keepAssociatedVpc: true,
|
|
64
|
+
* });
|
|
65
|
+
* const privatelink = new cloudamqp.PrivatelinkAws("privatelink", {
|
|
66
|
+
* instanceId: instance.id,
|
|
67
|
+
* allowedPrincipals: ["arn:aws:iam::aws-account-id:user/user-name"],
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* </details>
|
|
16
72
|
*
|
|
17
|
-
*
|
|
73
|
+
* ### With Additional Firewall Rules
|
|
18
74
|
*
|
|
19
|
-
*
|
|
75
|
+
* <details>
|
|
76
|
+
* <summary>
|
|
77
|
+
* <b>
|
|
78
|
+
* <i>CloudAMQP instance in an existing VPC with managed firewall rules</i>
|
|
79
|
+
* </b>
|
|
80
|
+
* </summary>
|
|
20
81
|
*
|
|
21
|
-
*
|
|
82
|
+
* ```typescript
|
|
83
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
84
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
22
85
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
86
|
+
* const vpc = new cloudamqp.Vpc("vpc", {
|
|
87
|
+
* name: "Standalone VPC",
|
|
88
|
+
* region: "amazon-web-services::us-west-1",
|
|
89
|
+
* subnet: "10.56.72.0/24",
|
|
90
|
+
* tags: [],
|
|
91
|
+
* });
|
|
92
|
+
* const instance = new cloudamqp.Instance("instance", {
|
|
93
|
+
* name: "Instance 01",
|
|
94
|
+
* plan: "bunny-1",
|
|
95
|
+
* region: "amazon-web-services::us-west-1",
|
|
96
|
+
* tags: [],
|
|
97
|
+
* vpcId: vpc.id,
|
|
98
|
+
* keepAssociatedVpc: true,
|
|
99
|
+
* });
|
|
100
|
+
* const privatelink = new cloudamqp.PrivatelinkAws("privatelink", {
|
|
101
|
+
* instanceId: instance.id,
|
|
102
|
+
* allowedPrincipals: ["arn:aws:iam::aws-account-id:user/user-name"],
|
|
103
|
+
* });
|
|
104
|
+
* const firewallSettings = new cloudamqp.SecurityFirewall("firewall_settings", {
|
|
105
|
+
* instanceId: instance.id,
|
|
106
|
+
* rules: [
|
|
107
|
+
* {
|
|
108
|
+
* description: "Custom PrivateLink setup",
|
|
109
|
+
* ip: vpc.subnet,
|
|
110
|
+
* ports: [],
|
|
111
|
+
* services: [
|
|
112
|
+
* "AMQP",
|
|
113
|
+
* "AMQPS",
|
|
114
|
+
* "HTTPS",
|
|
115
|
+
* "STREAM",
|
|
116
|
+
* "STREAM_SSL",
|
|
117
|
+
* ],
|
|
118
|
+
* },
|
|
119
|
+
* {
|
|
120
|
+
* description: "MGMT interface",
|
|
121
|
+
* ip: "0.0.0.0/0",
|
|
122
|
+
* ports: [],
|
|
123
|
+
* services: ["HTTPS"],
|
|
124
|
+
* },
|
|
125
|
+
* ],
|
|
126
|
+
* }, {
|
|
127
|
+
* dependsOn: [privatelink],
|
|
128
|
+
* });
|
|
25
129
|
* ```
|
|
130
|
+
*
|
|
131
|
+
* </details>
|
|
132
|
+
*
|
|
133
|
+
* [CloudAMQP API list intances]: https://docs.cloudamqp.com/index.html#tag/instances/get/instances
|
|
134
|
+
* [CloudAMQP plans]: https://www.cloudamqp.com/plans.html
|
|
135
|
+
* [CloudAMQP PrivateLink]: https://www.cloudamqp.com/docs/cloudamqp-privatelink.html#aws-privatelink
|
|
136
|
+
* [cloudamqp.SecurityFirewall]: ./security_firewall.md
|
|
137
|
+
* [cloudamqp.VpcConnect]: ./vpc_connect.md
|
|
138
|
+
* [v1.29.0]: https://github.com/cloudamqp/terraform-provider-cloudamqp/releases/tag/v1.29.0
|
|
139
|
+
*
|
|
140
|
+
* ## Dependency
|
|
141
|
+
*
|
|
142
|
+
* This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
|
|
143
|
+
*
|
|
144
|
+
* ## Create PrivateLink with additional firewall rules
|
|
145
|
+
*
|
|
146
|
+
* To create a PrivateLink configuration with additional firewall rules, it's required to chain the
|
|
147
|
+
* [cloudamqp.SecurityFirewall] resource to avoid parallel conflicting resource calls. You can do this
|
|
148
|
+
* by making the firewall resource depend on the PrivateLink resource,
|
|
149
|
+
* `cloudamqp_privatelink_aws.privatelink`.
|
|
150
|
+
*
|
|
151
|
+
* Furthermore, since all firewall rules are overwritten, the otherwise automatically added rules for
|
|
152
|
+
* the PrivateLink also needs to be added.
|
|
26
153
|
*/
|
|
27
154
|
export declare class PrivatelinkAws extends pulumi.CustomResource {
|
|
28
155
|
/**
|