@pulumi/cloudamqp 3.24.1 → 3.24.2
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/customDomain.d.ts +2 -2
- package/customDomain.js +2 -2
- package/index.d.ts +6 -0
- package/index.js +12 -2
- package/index.js.map +1 -1
- package/instance.d.ts +74 -14
- package/instance.js +34 -2
- package/instance.js.map +1 -1
- package/integrationAwsEventbridge.d.ts +57 -1
- package/integrationAwsEventbridge.js +47 -1
- package/integrationAwsEventbridge.js.map +1 -1
- package/integrationLog.d.ts +207 -123
- package/integrationLog.js +44 -27
- package/integrationLog.js.map +1 -1
- package/integrationMetric.d.ts +8 -56
- package/integrationMetric.js +3 -9
- package/integrationMetric.js.map +1 -1
- package/integrationMetricPrometheus.d.ts +257 -0
- package/integrationMetricPrometheus.js +233 -0
- package/integrationMetricPrometheus.js.map +1 -0
- package/maintenanceWindow.d.ts +1 -1
- package/maintenanceWindow.js +1 -1
- package/notification.d.ts +1 -1
- package/notification.js +1 -1
- package/oauth2Configuration.d.ts +360 -0
- package/oauth2Configuration.js +208 -0
- package/oauth2Configuration.js.map +1 -0
- package/package.json +2 -2
- package/types/input.d.ts +108 -0
- package/types/output.d.ts +108 -0
- package/vpc.d.ts +2 -2
- package/vpc.js +2 -2
- package/webhook.d.ts +2 -2
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
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.IntegrationMetricPrometheus = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* This resource allows you to create and manage Prometheus-compatible metric integrations for CloudAMQP instances. Currently supported integrations include New Relic v3, Datadog v3, Azure Monitor, Splunk v2, Dynatrace, CloudWatch v3, and Stackdriver v2.
|
|
10
|
+
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* ### New Relic v3
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
17
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
18
|
+
*
|
|
19
|
+
* const newrelicV3 = new cloudamqp.IntegrationMetricPrometheus("newrelic_v3", {
|
|
20
|
+
* instanceId: instance.id,
|
|
21
|
+
* newrelicV3: {
|
|
22
|
+
* apiKey: newrelicApiKey,
|
|
23
|
+
* tags: "key=value,key2=value2",
|
|
24
|
+
* },
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* ### Datadog v3
|
|
29
|
+
*
|
|
30
|
+
* ```typescript
|
|
31
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
32
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
33
|
+
*
|
|
34
|
+
* const datadogV3 = new cloudamqp.IntegrationMetricPrometheus("datadog_v3", {
|
|
35
|
+
* instanceId: instance.id,
|
|
36
|
+
* datadogV3: {
|
|
37
|
+
* apiKey: datadogApiKey,
|
|
38
|
+
* region: "us1",
|
|
39
|
+
* tags: "key=value,key2=value2",
|
|
40
|
+
* rabbitmqDashboardMetricsFormat: true,
|
|
41
|
+
* },
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* ### Azure Monitor
|
|
46
|
+
*
|
|
47
|
+
* ```typescript
|
|
48
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
49
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
50
|
+
*
|
|
51
|
+
* const azureMonitor = new cloudamqp.IntegrationMetricPrometheus("azure_monitor", {
|
|
52
|
+
* instanceId: instance.id,
|
|
53
|
+
* azureMonitor: {
|
|
54
|
+
* connectionString: azureMonitorConnectionString,
|
|
55
|
+
* },
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* ### Splunk v2
|
|
60
|
+
*
|
|
61
|
+
* ```typescript
|
|
62
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
63
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
64
|
+
*
|
|
65
|
+
* const splunkV2 = new cloudamqp.IntegrationMetricPrometheus("splunk_v2", {
|
|
66
|
+
* instanceId: instance.id,
|
|
67
|
+
* splunkV2: {
|
|
68
|
+
* token: splunkToken,
|
|
69
|
+
* endpoint: splunkEndpoint,
|
|
70
|
+
* tags: "key=value,key2=value2",
|
|
71
|
+
* },
|
|
72
|
+
* });
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* ### Dynatrace
|
|
76
|
+
*
|
|
77
|
+
* ```typescript
|
|
78
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
79
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
80
|
+
*
|
|
81
|
+
* const dynatrace = new cloudamqp.IntegrationMetricPrometheus("dynatrace", {
|
|
82
|
+
* instanceId: instance.id,
|
|
83
|
+
* dynatrace: {
|
|
84
|
+
* environmentId: dynatraceEnvironmentId,
|
|
85
|
+
* accessToken: dynatraceAccessToken,
|
|
86
|
+
* tags: "key=value,key2=value2",
|
|
87
|
+
* },
|
|
88
|
+
* });
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
* ### CloudWatch v3
|
|
92
|
+
*
|
|
93
|
+
* ```typescript
|
|
94
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
95
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
96
|
+
*
|
|
97
|
+
* const cloudwatchV3 = new cloudamqp.IntegrationMetricPrometheus("cloudwatch_v3", {
|
|
98
|
+
* instanceId: instance.id,
|
|
99
|
+
* cloudwatchV3: {
|
|
100
|
+
* iamRole: cloudwatchIamRole,
|
|
101
|
+
* iamExternalId: cloudwatchIamExternalId,
|
|
102
|
+
* region: cloudwatchRegion,
|
|
103
|
+
* tags: "key=value,key2=value2",
|
|
104
|
+
* },
|
|
105
|
+
* });
|
|
106
|
+
* ```
|
|
107
|
+
*
|
|
108
|
+
* ### Stackdriver v2
|
|
109
|
+
*
|
|
110
|
+
* ```typescript
|
|
111
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
112
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
113
|
+
*
|
|
114
|
+
* const stackdriverV2 = new cloudamqp.IntegrationMetricPrometheus("stackdriver_v2", {
|
|
115
|
+
* instanceId: instance.id,
|
|
116
|
+
* stackdriverV2: {
|
|
117
|
+
* credentialsFile: googleServiceAccountKey,
|
|
118
|
+
* tags: "key=value,key2=value2",
|
|
119
|
+
* },
|
|
120
|
+
* });
|
|
121
|
+
* ```
|
|
122
|
+
*
|
|
123
|
+
* **Note:** The `credentialsFile` should contain a Base64-encoded Google service account key JSON file. You can create a service account in Google Cloud Console with the "Monitoring Metric Writer" role and download the key file. Then encode it with:
|
|
124
|
+
*
|
|
125
|
+
* ## Dependency
|
|
126
|
+
*
|
|
127
|
+
* This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
|
|
128
|
+
*
|
|
129
|
+
* ## Import
|
|
130
|
+
*
|
|
131
|
+
* ### Stackdriver v2
|
|
132
|
+
*
|
|
133
|
+
* hcl
|
|
134
|
+
*
|
|
135
|
+
* import {
|
|
136
|
+
*
|
|
137
|
+
* to = cloudamqp_integration_metric_prometheus.stackdriver_v2
|
|
138
|
+
*
|
|
139
|
+
* id = format("<integration_id>,%s", cloudamqp_instance.instance.id)
|
|
140
|
+
*
|
|
141
|
+
* }
|
|
142
|
+
*
|
|
143
|
+
* Or use Terraform CLI:
|
|
144
|
+
*
|
|
145
|
+
* ```sh
|
|
146
|
+
* $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus newrelic_v3 <integration_id>,<instance_id>
|
|
147
|
+
* ```
|
|
148
|
+
*
|
|
149
|
+
* ```sh
|
|
150
|
+
* $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus datadog_v3 <integration_id>,<instance_id>
|
|
151
|
+
* ```
|
|
152
|
+
*
|
|
153
|
+
* ```sh
|
|
154
|
+
* $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus azure_monitor <integration_id>,<instance_id>
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* ```sh
|
|
158
|
+
* $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus splunk_v2 <integration_id>,<instance_id>
|
|
159
|
+
* ```
|
|
160
|
+
*
|
|
161
|
+
* ```sh
|
|
162
|
+
* $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus dynatrace <integration_id>,<instance_id>
|
|
163
|
+
* ```
|
|
164
|
+
*
|
|
165
|
+
* ```sh
|
|
166
|
+
* $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus cloudwatch_v3 <integration_id>,<instance_id>
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* ```sh
|
|
170
|
+
* $ pulumi import cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus stackdriver_v2 <integration_id>,<instance_id>
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
class IntegrationMetricPrometheus extends pulumi.CustomResource {
|
|
174
|
+
/**
|
|
175
|
+
* Get an existing IntegrationMetricPrometheus resource's state with the given name, ID, and optional extra
|
|
176
|
+
* properties used to qualify the lookup.
|
|
177
|
+
*
|
|
178
|
+
* @param name The _unique_ name of the resulting resource.
|
|
179
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
180
|
+
* @param state Any extra arguments used during the lookup.
|
|
181
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
182
|
+
*/
|
|
183
|
+
static get(name, id, state, opts) {
|
|
184
|
+
return new IntegrationMetricPrometheus(name, state, { ...opts, id: id });
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Returns true if the given object is an instance of IntegrationMetricPrometheus. This is designed to work even
|
|
188
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
189
|
+
*/
|
|
190
|
+
static isInstance(obj) {
|
|
191
|
+
if (obj === undefined || obj === null) {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
return obj['__pulumiType'] === IntegrationMetricPrometheus.__pulumiType;
|
|
195
|
+
}
|
|
196
|
+
constructor(name, argsOrState, opts) {
|
|
197
|
+
let resourceInputs = {};
|
|
198
|
+
opts = opts || {};
|
|
199
|
+
if (opts.id) {
|
|
200
|
+
const state = argsOrState;
|
|
201
|
+
resourceInputs["azureMonitor"] = state?.azureMonitor;
|
|
202
|
+
resourceInputs["cloudwatchV3"] = state?.cloudwatchV3;
|
|
203
|
+
resourceInputs["datadogV3"] = state?.datadogV3;
|
|
204
|
+
resourceInputs["dynatrace"] = state?.dynatrace;
|
|
205
|
+
resourceInputs["instanceId"] = state?.instanceId;
|
|
206
|
+
resourceInputs["metricsFilters"] = state?.metricsFilters;
|
|
207
|
+
resourceInputs["newrelicV3"] = state?.newrelicV3;
|
|
208
|
+
resourceInputs["splunkV2"] = state?.splunkV2;
|
|
209
|
+
resourceInputs["stackdriverV2"] = state?.stackdriverV2;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
const args = argsOrState;
|
|
213
|
+
if (args?.instanceId === undefined && !opts.urn) {
|
|
214
|
+
throw new Error("Missing required property 'instanceId'");
|
|
215
|
+
}
|
|
216
|
+
resourceInputs["azureMonitor"] = args?.azureMonitor;
|
|
217
|
+
resourceInputs["cloudwatchV3"] = args?.cloudwatchV3;
|
|
218
|
+
resourceInputs["datadogV3"] = args?.datadogV3;
|
|
219
|
+
resourceInputs["dynatrace"] = args?.dynatrace;
|
|
220
|
+
resourceInputs["instanceId"] = args?.instanceId;
|
|
221
|
+
resourceInputs["metricsFilters"] = args?.metricsFilters;
|
|
222
|
+
resourceInputs["newrelicV3"] = args?.newrelicV3;
|
|
223
|
+
resourceInputs["splunkV2"] = args?.splunkV2;
|
|
224
|
+
resourceInputs["stackdriverV2"] = args?.stackdriverV2;
|
|
225
|
+
}
|
|
226
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
227
|
+
super(IntegrationMetricPrometheus.__pulumiType, name, resourceInputs, opts);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
exports.IntegrationMetricPrometheus = IntegrationMetricPrometheus;
|
|
231
|
+
/** @internal */
|
|
232
|
+
IntegrationMetricPrometheus.__pulumiType = 'cloudamqp:index/integrationMetricPrometheus:IntegrationMetricPrometheus';
|
|
233
|
+
//# sourceMappingURL=integrationMetricPrometheus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integrationMetricPrometheus.js","sourceRoot":"","sources":["../integrationMetricPrometheus.ts"],"names":[],"mappings":"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"}
|
package/maintenanceWindow.d.ts
CHANGED
|
@@ -112,7 +112,7 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
112
112
|
* $ pulumi import cloudamqp:index/maintenanceWindow:MaintenanceWindow this <id>`
|
|
113
113
|
* ```
|
|
114
114
|
*
|
|
115
|
-
* [CloudAMQP API list instances]: https://docs.cloudamqp.com
|
|
115
|
+
* [CloudAMQP API list instances]: https://docs.cloudamqp.com/index.html#tag/instances/get/instances
|
|
116
116
|
*
|
|
117
117
|
* [format]: https://developer.hashicorp.com/terraform/language/functions/formatdate#specification-syntax
|
|
118
118
|
*/
|
package/maintenanceWindow.js
CHANGED
|
@@ -118,7 +118,7 @@ const utilities = require("./utilities");
|
|
|
118
118
|
* $ pulumi import cloudamqp:index/maintenanceWindow:MaintenanceWindow this <id>`
|
|
119
119
|
* ```
|
|
120
120
|
*
|
|
121
|
-
* [CloudAMQP API list instances]: https://docs.cloudamqp.com
|
|
121
|
+
* [CloudAMQP API list instances]: https://docs.cloudamqp.com/index.html#tag/instances/get/instances
|
|
122
122
|
*
|
|
123
123
|
* [format]: https://developer.hashicorp.com/terraform/language/functions/formatdate#specification-syntax
|
|
124
124
|
*/
|
package/notification.d.ts
CHANGED
|
@@ -222,7 +222,7 @@ import * as outputs from "./types/output";
|
|
|
222
222
|
* $ pulumi import cloudamqp:index/notification:Notification recipient <id>,<instance_id>`
|
|
223
223
|
* ```
|
|
224
224
|
*
|
|
225
|
-
* [CloudAMQP API list recipients]: https://docs.cloudamqp.com/
|
|
225
|
+
* [CloudAMQP API list recipients]: https://docs.cloudamqp.com/instance-api.html#tag/alarms/get/alarms/recipients
|
|
226
226
|
*/
|
|
227
227
|
export declare class Notification extends pulumi.CustomResource {
|
|
228
228
|
/**
|
package/notification.js
CHANGED
|
@@ -226,7 +226,7 @@ const utilities = require("./utilities");
|
|
|
226
226
|
* $ pulumi import cloudamqp:index/notification:Notification recipient <id>,<instance_id>`
|
|
227
227
|
* ```
|
|
228
228
|
*
|
|
229
|
-
* [CloudAMQP API list recipients]: https://docs.cloudamqp.com/
|
|
229
|
+
* [CloudAMQP API list recipients]: https://docs.cloudamqp.com/instance-api.html#tag/alarms/get/alarms/recipients
|
|
230
230
|
*/
|
|
231
231
|
class Notification extends pulumi.CustomResource {
|
|
232
232
|
/**
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
/**
|
|
3
|
+
* This resource allows you to configure OAuth2 authentication for your RabbitMQ instance.
|
|
4
|
+
*
|
|
5
|
+
* Only available for dedicated subscription plans running ***RabbitMQ***.
|
|
6
|
+
*
|
|
7
|
+
* ## Example Usage
|
|
8
|
+
*
|
|
9
|
+
* <details>
|
|
10
|
+
* <summary>
|
|
11
|
+
* <b>
|
|
12
|
+
* <i>Basic OAuth2 configuration</i>
|
|
13
|
+
* </b>
|
|
14
|
+
* </summary>
|
|
15
|
+
*
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
18
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
19
|
+
*
|
|
20
|
+
* const oauth2Config = new cloudamqp.Oauth2Configuration("oauth2_config", {
|
|
21
|
+
* instanceId: instance.id,
|
|
22
|
+
* resourceServerId: "test-resource-server",
|
|
23
|
+
* issuer: "https://test-issuer.example.com",
|
|
24
|
+
* verifyAud: true,
|
|
25
|
+
* oauthClientId: "test-client-id",
|
|
26
|
+
* oauthScopes: [
|
|
27
|
+
* "read",
|
|
28
|
+
* "write",
|
|
29
|
+
* ],
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* </details>
|
|
34
|
+
*
|
|
35
|
+
* <details>
|
|
36
|
+
* <summary>
|
|
37
|
+
* <b>
|
|
38
|
+
* <i>OAuth2 configuration with all optional fields</i>
|
|
39
|
+
* </b>
|
|
40
|
+
* </summary>
|
|
41
|
+
*
|
|
42
|
+
* ```typescript
|
|
43
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
44
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
45
|
+
*
|
|
46
|
+
* const oauth2Config = new cloudamqp.Oauth2Configuration("oauth2_config", {
|
|
47
|
+
* instanceId: instance.id,
|
|
48
|
+
* resourceServerId: "test-resource-server",
|
|
49
|
+
* issuer: "https://test-issuer.example.com",
|
|
50
|
+
* preferredUsernameClaims: [
|
|
51
|
+
* "preferred_username",
|
|
52
|
+
* "username",
|
|
53
|
+
* ],
|
|
54
|
+
* additionalScopesKeys: ["admin"],
|
|
55
|
+
* scopePrefix: "cloudamqp",
|
|
56
|
+
* scopeAliases: {
|
|
57
|
+
* read: "read:all",
|
|
58
|
+
* write: "write:all",
|
|
59
|
+
* },
|
|
60
|
+
* verifyAud: true,
|
|
61
|
+
* oauthClientId: "test-client-id",
|
|
62
|
+
* oauthScopes: [
|
|
63
|
+
* "read",
|
|
64
|
+
* "write",
|
|
65
|
+
* "admin",
|
|
66
|
+
* ],
|
|
67
|
+
* audience: "https://test-audience.example.com",
|
|
68
|
+
* });
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* </details>
|
|
72
|
+
*
|
|
73
|
+
* <details>
|
|
74
|
+
* <summary>
|
|
75
|
+
* <b>
|
|
76
|
+
* <i>Minimal OAuth2 configuration</i>
|
|
77
|
+
* </b>
|
|
78
|
+
* </summary>
|
|
79
|
+
*
|
|
80
|
+
* ```typescript
|
|
81
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
82
|
+
* import * as cloudamqp from "@pulumi/cloudamqp";
|
|
83
|
+
*
|
|
84
|
+
* const oauth2Config = new cloudamqp.Oauth2Configuration("oauth2_config", {
|
|
85
|
+
* instanceId: instance.id,
|
|
86
|
+
* resourceServerId: "test-resource-server",
|
|
87
|
+
* issuer: "https://test-issuer.example.com",
|
|
88
|
+
* });
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
* </details>
|
|
92
|
+
*
|
|
93
|
+
* ## Dependency
|
|
94
|
+
*
|
|
95
|
+
* This resource depends on CloudAMQP instance identifier, `cloudamqp_instance.instance.id`.
|
|
96
|
+
*
|
|
97
|
+
* ## Notes
|
|
98
|
+
*
|
|
99
|
+
* * Changes to `instanceId` will force recreation of the resource.
|
|
100
|
+
* * OAuth2 configuration changes are applied asynchronously and may take some time to complete. The
|
|
101
|
+
* resource will poll for job completion using the configured `sleep` and `timeout` values.
|
|
102
|
+
* * Only one OAuth2 configuration can exist per instance. Creating a new configuration will replace
|
|
103
|
+
* any existing configuration.
|
|
104
|
+
* * After a configuration has been applied, a restart of RabbitMQ is required for the changes to take effect.
|
|
105
|
+
*
|
|
106
|
+
* ## Import
|
|
107
|
+
*
|
|
108
|
+
* `cloudamqp_oauth2_configuration` can be imported using the CloudAMQP instance identifier.
|
|
109
|
+
*
|
|
110
|
+
* From Terraform v1.5.0, the `import` block can be used to import this resource:
|
|
111
|
+
*
|
|
112
|
+
* hcl
|
|
113
|
+
*
|
|
114
|
+
* import {
|
|
115
|
+
*
|
|
116
|
+
* to = cloudamqp_oauth2_configuration.oauth2_config
|
|
117
|
+
*
|
|
118
|
+
* id = cloudamqp_instance.instance.id
|
|
119
|
+
*
|
|
120
|
+
* }
|
|
121
|
+
*
|
|
122
|
+
* Or use Terraform CLI:
|
|
123
|
+
*
|
|
124
|
+
* ```sh
|
|
125
|
+
* $ pulumi import cloudamqp:index/oauth2Configuration:Oauth2Configuration oauth2_config <instance_id>`
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
export declare class Oauth2Configuration extends pulumi.CustomResource {
|
|
129
|
+
/**
|
|
130
|
+
* Get an existing Oauth2Configuration resource's state with the given name, ID, and optional extra
|
|
131
|
+
* properties used to qualify the lookup.
|
|
132
|
+
*
|
|
133
|
+
* @param name The _unique_ name of the resulting resource.
|
|
134
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
135
|
+
* @param state Any extra arguments used during the lookup.
|
|
136
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
137
|
+
*/
|
|
138
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: Oauth2ConfigurationState, opts?: pulumi.CustomResourceOptions): Oauth2Configuration;
|
|
139
|
+
/**
|
|
140
|
+
* Returns true if the given object is an instance of Oauth2Configuration. This is designed to work even
|
|
141
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
142
|
+
*/
|
|
143
|
+
static isInstance(obj: any): obj is Oauth2Configuration;
|
|
144
|
+
/**
|
|
145
|
+
* List of additional JWT claim keys to extract OAuth2
|
|
146
|
+
* scopes from.
|
|
147
|
+
*/
|
|
148
|
+
readonly additionalScopesKeys: pulumi.Output<string[] | undefined>;
|
|
149
|
+
/**
|
|
150
|
+
* The audience to be passed along to the Oauth2 provider when
|
|
151
|
+
* logging in to the management interface. Must be configured for Auth0,
|
|
152
|
+
* cannot be configured for Entra ID v2.
|
|
153
|
+
*/
|
|
154
|
+
readonly audience: pulumi.Output<string | undefined>;
|
|
155
|
+
/**
|
|
156
|
+
* The CloudAMQP instance ID.
|
|
157
|
+
*/
|
|
158
|
+
readonly instanceId: pulumi.Output<number>;
|
|
159
|
+
/**
|
|
160
|
+
* The issuer URL of the OAuth2 provider. This is typically
|
|
161
|
+
* the base URL of your OAuth2 provider (e.g., Auth0, Keycloak, etc.).
|
|
162
|
+
*/
|
|
163
|
+
readonly issuer: pulumi.Output<string>;
|
|
164
|
+
/**
|
|
165
|
+
* OAuth2 client ID used for token validation.
|
|
166
|
+
*/
|
|
167
|
+
readonly oauthClientId: pulumi.Output<string | undefined>;
|
|
168
|
+
/**
|
|
169
|
+
* List of OAuth2 scopes to request. These scopes will be
|
|
170
|
+
* used when obtaining access tokens.
|
|
171
|
+
*/
|
|
172
|
+
readonly oauthScopes: pulumi.Output<string[] | undefined>;
|
|
173
|
+
/**
|
|
174
|
+
* List of JWT claims to use as the preferred username.
|
|
175
|
+
* The first claim found in the token will be used as the username.
|
|
176
|
+
*/
|
|
177
|
+
readonly preferredUsernameClaims: pulumi.Output<string[] | undefined>;
|
|
178
|
+
/**
|
|
179
|
+
* Resource server identifier used to identify the resource
|
|
180
|
+
* server in OAuth2 tokens.
|
|
181
|
+
*/
|
|
182
|
+
readonly resourceServerId: pulumi.Output<string>;
|
|
183
|
+
/**
|
|
184
|
+
* Map of scope aliases to translate scope names. This allows
|
|
185
|
+
* mapping OAuth2 scopes to RabbitMQ permission tags.
|
|
186
|
+
*/
|
|
187
|
+
readonly scopeAliases: pulumi.Output<{
|
|
188
|
+
[key: string]: string;
|
|
189
|
+
} | undefined>;
|
|
190
|
+
/**
|
|
191
|
+
* Prefix to add to scopes. This is useful when scopes in
|
|
192
|
+
* the JWT token need to be prefixed for RabbitMQ permissions.
|
|
193
|
+
*/
|
|
194
|
+
readonly scopePrefix: pulumi.Output<string | undefined>;
|
|
195
|
+
/**
|
|
196
|
+
* Configurable sleep time in seconds between retries for
|
|
197
|
+
* OAuth2 configuration. Default set to 60 seconds.
|
|
198
|
+
*/
|
|
199
|
+
readonly sleep: pulumi.Output<number>;
|
|
200
|
+
/**
|
|
201
|
+
* Configurable timeout time in seconds for OAuth2
|
|
202
|
+
* configuration. Default set to 3600 seconds.
|
|
203
|
+
*/
|
|
204
|
+
readonly timeout: pulumi.Output<number>;
|
|
205
|
+
/**
|
|
206
|
+
* Whether to verify the audience claim in the JWT
|
|
207
|
+
* token. Defaults to true.
|
|
208
|
+
*/
|
|
209
|
+
readonly verifyAud: pulumi.Output<boolean>;
|
|
210
|
+
/**
|
|
211
|
+
* Create a Oauth2Configuration resource with the given unique name, arguments, and options.
|
|
212
|
+
*
|
|
213
|
+
* @param name The _unique_ name of the resource.
|
|
214
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
215
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
216
|
+
*/
|
|
217
|
+
constructor(name: string, args: Oauth2ConfigurationArgs, opts?: pulumi.CustomResourceOptions);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Input properties used for looking up and filtering Oauth2Configuration resources.
|
|
221
|
+
*/
|
|
222
|
+
export interface Oauth2ConfigurationState {
|
|
223
|
+
/**
|
|
224
|
+
* List of additional JWT claim keys to extract OAuth2
|
|
225
|
+
* scopes from.
|
|
226
|
+
*/
|
|
227
|
+
additionalScopesKeys?: pulumi.Input<pulumi.Input<string>[]>;
|
|
228
|
+
/**
|
|
229
|
+
* The audience to be passed along to the Oauth2 provider when
|
|
230
|
+
* logging in to the management interface. Must be configured for Auth0,
|
|
231
|
+
* cannot be configured for Entra ID v2.
|
|
232
|
+
*/
|
|
233
|
+
audience?: pulumi.Input<string>;
|
|
234
|
+
/**
|
|
235
|
+
* The CloudAMQP instance ID.
|
|
236
|
+
*/
|
|
237
|
+
instanceId?: pulumi.Input<number>;
|
|
238
|
+
/**
|
|
239
|
+
* The issuer URL of the OAuth2 provider. This is typically
|
|
240
|
+
* the base URL of your OAuth2 provider (e.g., Auth0, Keycloak, etc.).
|
|
241
|
+
*/
|
|
242
|
+
issuer?: pulumi.Input<string>;
|
|
243
|
+
/**
|
|
244
|
+
* OAuth2 client ID used for token validation.
|
|
245
|
+
*/
|
|
246
|
+
oauthClientId?: pulumi.Input<string>;
|
|
247
|
+
/**
|
|
248
|
+
* List of OAuth2 scopes to request. These scopes will be
|
|
249
|
+
* used when obtaining access tokens.
|
|
250
|
+
*/
|
|
251
|
+
oauthScopes?: pulumi.Input<pulumi.Input<string>[]>;
|
|
252
|
+
/**
|
|
253
|
+
* List of JWT claims to use as the preferred username.
|
|
254
|
+
* The first claim found in the token will be used as the username.
|
|
255
|
+
*/
|
|
256
|
+
preferredUsernameClaims?: pulumi.Input<pulumi.Input<string>[]>;
|
|
257
|
+
/**
|
|
258
|
+
* Resource server identifier used to identify the resource
|
|
259
|
+
* server in OAuth2 tokens.
|
|
260
|
+
*/
|
|
261
|
+
resourceServerId?: pulumi.Input<string>;
|
|
262
|
+
/**
|
|
263
|
+
* Map of scope aliases to translate scope names. This allows
|
|
264
|
+
* mapping OAuth2 scopes to RabbitMQ permission tags.
|
|
265
|
+
*/
|
|
266
|
+
scopeAliases?: pulumi.Input<{
|
|
267
|
+
[key: string]: pulumi.Input<string>;
|
|
268
|
+
}>;
|
|
269
|
+
/**
|
|
270
|
+
* Prefix to add to scopes. This is useful when scopes in
|
|
271
|
+
* the JWT token need to be prefixed for RabbitMQ permissions.
|
|
272
|
+
*/
|
|
273
|
+
scopePrefix?: pulumi.Input<string>;
|
|
274
|
+
/**
|
|
275
|
+
* Configurable sleep time in seconds between retries for
|
|
276
|
+
* OAuth2 configuration. Default set to 60 seconds.
|
|
277
|
+
*/
|
|
278
|
+
sleep?: pulumi.Input<number>;
|
|
279
|
+
/**
|
|
280
|
+
* Configurable timeout time in seconds for OAuth2
|
|
281
|
+
* configuration. Default set to 3600 seconds.
|
|
282
|
+
*/
|
|
283
|
+
timeout?: pulumi.Input<number>;
|
|
284
|
+
/**
|
|
285
|
+
* Whether to verify the audience claim in the JWT
|
|
286
|
+
* token. Defaults to true.
|
|
287
|
+
*/
|
|
288
|
+
verifyAud?: pulumi.Input<boolean>;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* The set of arguments for constructing a Oauth2Configuration resource.
|
|
292
|
+
*/
|
|
293
|
+
export interface Oauth2ConfigurationArgs {
|
|
294
|
+
/**
|
|
295
|
+
* List of additional JWT claim keys to extract OAuth2
|
|
296
|
+
* scopes from.
|
|
297
|
+
*/
|
|
298
|
+
additionalScopesKeys?: pulumi.Input<pulumi.Input<string>[]>;
|
|
299
|
+
/**
|
|
300
|
+
* The audience to be passed along to the Oauth2 provider when
|
|
301
|
+
* logging in to the management interface. Must be configured for Auth0,
|
|
302
|
+
* cannot be configured for Entra ID v2.
|
|
303
|
+
*/
|
|
304
|
+
audience?: pulumi.Input<string>;
|
|
305
|
+
/**
|
|
306
|
+
* The CloudAMQP instance ID.
|
|
307
|
+
*/
|
|
308
|
+
instanceId: pulumi.Input<number>;
|
|
309
|
+
/**
|
|
310
|
+
* The issuer URL of the OAuth2 provider. This is typically
|
|
311
|
+
* the base URL of your OAuth2 provider (e.g., Auth0, Keycloak, etc.).
|
|
312
|
+
*/
|
|
313
|
+
issuer: pulumi.Input<string>;
|
|
314
|
+
/**
|
|
315
|
+
* OAuth2 client ID used for token validation.
|
|
316
|
+
*/
|
|
317
|
+
oauthClientId?: pulumi.Input<string>;
|
|
318
|
+
/**
|
|
319
|
+
* List of OAuth2 scopes to request. These scopes will be
|
|
320
|
+
* used when obtaining access tokens.
|
|
321
|
+
*/
|
|
322
|
+
oauthScopes?: pulumi.Input<pulumi.Input<string>[]>;
|
|
323
|
+
/**
|
|
324
|
+
* List of JWT claims to use as the preferred username.
|
|
325
|
+
* The first claim found in the token will be used as the username.
|
|
326
|
+
*/
|
|
327
|
+
preferredUsernameClaims?: pulumi.Input<pulumi.Input<string>[]>;
|
|
328
|
+
/**
|
|
329
|
+
* Resource server identifier used to identify the resource
|
|
330
|
+
* server in OAuth2 tokens.
|
|
331
|
+
*/
|
|
332
|
+
resourceServerId: pulumi.Input<string>;
|
|
333
|
+
/**
|
|
334
|
+
* Map of scope aliases to translate scope names. This allows
|
|
335
|
+
* mapping OAuth2 scopes to RabbitMQ permission tags.
|
|
336
|
+
*/
|
|
337
|
+
scopeAliases?: pulumi.Input<{
|
|
338
|
+
[key: string]: pulumi.Input<string>;
|
|
339
|
+
}>;
|
|
340
|
+
/**
|
|
341
|
+
* Prefix to add to scopes. This is useful when scopes in
|
|
342
|
+
* the JWT token need to be prefixed for RabbitMQ permissions.
|
|
343
|
+
*/
|
|
344
|
+
scopePrefix?: pulumi.Input<string>;
|
|
345
|
+
/**
|
|
346
|
+
* Configurable sleep time in seconds between retries for
|
|
347
|
+
* OAuth2 configuration. Default set to 60 seconds.
|
|
348
|
+
*/
|
|
349
|
+
sleep?: pulumi.Input<number>;
|
|
350
|
+
/**
|
|
351
|
+
* Configurable timeout time in seconds for OAuth2
|
|
352
|
+
* configuration. Default set to 3600 seconds.
|
|
353
|
+
*/
|
|
354
|
+
timeout?: pulumi.Input<number>;
|
|
355
|
+
/**
|
|
356
|
+
* Whether to verify the audience claim in the JWT
|
|
357
|
+
* token. Defaults to true.
|
|
358
|
+
*/
|
|
359
|
+
verifyAud?: pulumi.Input<boolean>;
|
|
360
|
+
}
|