@pulumi/kong 4.1.0 → 4.4.1
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/README.md +1 -1
- package/certificate.d.ts +8 -8
- package/certificate.js +12 -13
- package/certificate.js.map +1 -1
- package/config/index.js +11 -4
- package/config/index.js.map +1 -1
- package/config/vars.d.ts +8 -8
- package/config/vars.js +51 -33
- package/config/vars.js.map +1 -1
- package/consumer.d.ts +6 -6
- package/consumer.js +10 -11
- package/consumer.js.map +1 -1
- package/consumerAcl.d.ts +6 -6
- package/consumerAcl.js +10 -11
- package/consumerAcl.js.map +1 -1
- package/consumerBasicAuth.d.ts +8 -8
- package/consumerBasicAuth.js +12 -13
- package/consumerBasicAuth.js.map +1 -1
- package/consumerJwtAuth.d.ts +12 -12
- package/consumerJwtAuth.js +16 -17
- package/consumerJwtAuth.js.map +1 -1
- package/consumerKeyAuth.d.ts +98 -0
- package/consumerKeyAuth.js +82 -0
- package/consumerKeyAuth.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +27 -14
- package/index.js.map +1 -1
- package/package.json +4 -3
- package/package.json.bak +5 -3
- package/package.json.dev +6 -4
- package/plugin.d.ts +70 -32
- package/plugin.js +22 -33
- package/plugin.js.map +1 -1
- package/provider.d.ts +32 -8
- package/provider.js +12 -13
- package/provider.js.map +1 -1
- package/route.d.ts +36 -36
- package/route.js +40 -41
- package/route.js.map +1 -1
- package/service.d.ts +154 -44
- package/service.js +32 -49
- package/service.js.map +1 -1
- package/target.d.ts +8 -8
- package/target.js +12 -13
- package/target.js.map +1 -1
- package/types/index.js +1 -0
- package/types/index.js.map +1 -1
- package/upstream.d.ts +24 -24
- package/upstream.js +28 -29
- package/upstream.js.map +1 -1
- package/utilities.js +6 -0
- package/utilities.js.map +1 -1
package/plugin.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.Plugin = void 0;
|
|
5
6
|
const pulumi = require("@pulumi/pulumi");
|
|
6
7
|
const utilities = require("./utilities");
|
|
7
8
|
/**
|
|
@@ -84,16 +85,6 @@ const utilities = require("./utilities");
|
|
|
84
85
|
* serviceId: service.id,
|
|
85
86
|
* });
|
|
86
87
|
* ```
|
|
87
|
-
* ## Argument reference
|
|
88
|
-
*
|
|
89
|
-
* * `pluginName` - (Required) the name of the plugin you want to configure
|
|
90
|
-
* * `consumerId` - (Optional) the consumer id you want to configure the plugin for
|
|
91
|
-
* * `serviceId` - (Optional) the service id that you want to configure the plugin for
|
|
92
|
-
* * `routeId` - (Optional) the route id that you want to configure the plugin for
|
|
93
|
-
* * `enabled` - (Optional) whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
|
|
94
|
-
* * `configJson` - (Optional) this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation
|
|
95
|
-
* page of the plugin you are configuring
|
|
96
|
-
* * `tags` - (Optional) A list of strings associated with the Plugin for grouping and filtering
|
|
97
88
|
*
|
|
98
89
|
* ## Import
|
|
99
90
|
*
|
|
@@ -105,36 +96,34 @@ const utilities = require("./utilities");
|
|
|
105
96
|
*/
|
|
106
97
|
class Plugin extends pulumi.CustomResource {
|
|
107
98
|
constructor(name, argsOrState, opts) {
|
|
108
|
-
let
|
|
99
|
+
let resourceInputs = {};
|
|
109
100
|
opts = opts || {};
|
|
110
101
|
if (opts.id) {
|
|
111
102
|
const state = argsOrState;
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
103
|
+
resourceInputs["computedConfig"] = state ? state.computedConfig : undefined;
|
|
104
|
+
resourceInputs["configJson"] = state ? state.configJson : undefined;
|
|
105
|
+
resourceInputs["consumerId"] = state ? state.consumerId : undefined;
|
|
106
|
+
resourceInputs["enabled"] = state ? state.enabled : undefined;
|
|
107
|
+
resourceInputs["name"] = state ? state.name : undefined;
|
|
108
|
+
resourceInputs["routeId"] = state ? state.routeId : undefined;
|
|
109
|
+
resourceInputs["serviceId"] = state ? state.serviceId : undefined;
|
|
110
|
+
resourceInputs["strictMatch"] = state ? state.strictMatch : undefined;
|
|
111
|
+
resourceInputs["tags"] = state ? state.tags : undefined;
|
|
121
112
|
}
|
|
122
113
|
else {
|
|
123
114
|
const args = argsOrState;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
}
|
|
134
|
-
if (!opts.version) {
|
|
135
|
-
opts = pulumi.mergeOptions(opts, { version: utilities.getVersion() });
|
|
115
|
+
resourceInputs["configJson"] = args ? args.configJson : undefined;
|
|
116
|
+
resourceInputs["consumerId"] = args ? args.consumerId : undefined;
|
|
117
|
+
resourceInputs["enabled"] = args ? args.enabled : undefined;
|
|
118
|
+
resourceInputs["name"] = args ? args.name : undefined;
|
|
119
|
+
resourceInputs["routeId"] = args ? args.routeId : undefined;
|
|
120
|
+
resourceInputs["serviceId"] = args ? args.serviceId : undefined;
|
|
121
|
+
resourceInputs["strictMatch"] = args ? args.strictMatch : undefined;
|
|
122
|
+
resourceInputs["tags"] = args ? args.tags : undefined;
|
|
123
|
+
resourceInputs["computedConfig"] = undefined /*out*/;
|
|
136
124
|
}
|
|
137
|
-
|
|
125
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
126
|
+
super(Plugin.__pulumiType, name, resourceInputs, opts);
|
|
138
127
|
}
|
|
139
128
|
/**
|
|
140
129
|
* Get an existing Plugin resource's state with the given name, ID, and optional extra
|
package/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../plugin.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../plugin.ts"],"names":[],"mappings":"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"}
|
package/provider.d.ts
CHANGED
|
@@ -11,6 +11,30 @@ export declare class Provider extends pulumi.ProviderResource {
|
|
|
11
11
|
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
12
12
|
*/
|
|
13
13
|
static isInstance(obj: any): obj is Provider;
|
|
14
|
+
/**
|
|
15
|
+
* An basic auth password for kong admin
|
|
16
|
+
*/
|
|
17
|
+
readonly kongAdminPassword: pulumi.Output<string | undefined>;
|
|
18
|
+
/**
|
|
19
|
+
* API key for the kong api (Enterprise Edition)
|
|
20
|
+
*/
|
|
21
|
+
readonly kongAdminToken: pulumi.Output<string | undefined>;
|
|
22
|
+
/**
|
|
23
|
+
* The address of the kong admin url e.g. http://localhost:8001
|
|
24
|
+
*/
|
|
25
|
+
readonly kongAdminUri: pulumi.Output<string>;
|
|
26
|
+
/**
|
|
27
|
+
* An basic auth user for kong admin
|
|
28
|
+
*/
|
|
29
|
+
readonly kongAdminUsername: pulumi.Output<string | undefined>;
|
|
30
|
+
/**
|
|
31
|
+
* API key for the kong api (if you have locked it down)
|
|
32
|
+
*/
|
|
33
|
+
readonly kongApiKey: pulumi.Output<string | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* Workspace context (Enterprise Edition)
|
|
36
|
+
*/
|
|
37
|
+
readonly kongWorkspace: pulumi.Output<string | undefined>;
|
|
14
38
|
/**
|
|
15
39
|
* Create a Provider resource with the given unique name, arguments, and options.
|
|
16
40
|
*
|
|
@@ -27,33 +51,33 @@ export interface ProviderArgs {
|
|
|
27
51
|
/**
|
|
28
52
|
* An basic auth password for kong admin
|
|
29
53
|
*/
|
|
30
|
-
|
|
54
|
+
kongAdminPassword?: pulumi.Input<string>;
|
|
31
55
|
/**
|
|
32
56
|
* API key for the kong api (Enterprise Edition)
|
|
33
57
|
*/
|
|
34
|
-
|
|
58
|
+
kongAdminToken?: pulumi.Input<string>;
|
|
35
59
|
/**
|
|
36
60
|
* The address of the kong admin url e.g. http://localhost:8001
|
|
37
61
|
*/
|
|
38
|
-
|
|
62
|
+
kongAdminUri: pulumi.Input<string>;
|
|
39
63
|
/**
|
|
40
64
|
* An basic auth user for kong admin
|
|
41
65
|
*/
|
|
42
|
-
|
|
66
|
+
kongAdminUsername?: pulumi.Input<string>;
|
|
43
67
|
/**
|
|
44
68
|
* API key for the kong api (if you have locked it down)
|
|
45
69
|
*/
|
|
46
|
-
|
|
70
|
+
kongApiKey?: pulumi.Input<string>;
|
|
47
71
|
/**
|
|
48
72
|
* Workspace context (Enterprise Edition)
|
|
49
73
|
*/
|
|
50
|
-
|
|
74
|
+
kongWorkspace?: pulumi.Input<string>;
|
|
51
75
|
/**
|
|
52
76
|
* Should plugins `config_json` field strictly match plugin configuration
|
|
53
77
|
*/
|
|
54
|
-
|
|
78
|
+
strictPluginsMatch?: pulumi.Input<boolean>;
|
|
55
79
|
/**
|
|
56
80
|
* Whether to skip tls verify for https kong api endpoint using self signed or untrusted certs
|
|
57
81
|
*/
|
|
58
|
-
|
|
82
|
+
tlsSkipVerify?: pulumi.Input<boolean>;
|
|
59
83
|
}
|
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
|
/**
|
|
@@ -20,25 +21,23 @@ class Provider extends pulumi.ProviderResource {
|
|
|
20
21
|
*/
|
|
21
22
|
constructor(name, args, opts) {
|
|
22
23
|
var _a, _b;
|
|
23
|
-
let
|
|
24
|
+
let resourceInputs = {};
|
|
24
25
|
opts = opts || {};
|
|
25
26
|
{
|
|
26
27
|
if ((!args || args.kongAdminUri === undefined) && !opts.urn) {
|
|
27
28
|
throw new Error("Missing required property 'kongAdminUri'");
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
resourceInputs["kongAdminPassword"] = args ? args.kongAdminPassword : undefined;
|
|
31
|
+
resourceInputs["kongAdminToken"] = args ? args.kongAdminToken : undefined;
|
|
32
|
+
resourceInputs["kongAdminUri"] = args ? args.kongAdminUri : undefined;
|
|
33
|
+
resourceInputs["kongAdminUsername"] = args ? args.kongAdminUsername : undefined;
|
|
34
|
+
resourceInputs["kongApiKey"] = args ? args.kongApiKey : undefined;
|
|
35
|
+
resourceInputs["kongWorkspace"] = args ? args.kongWorkspace : undefined;
|
|
36
|
+
resourceInputs["strictPluginsMatch"] = pulumi.output((_a = (args ? args.strictPluginsMatch : undefined)) !== null && _a !== void 0 ? _a : utilities.getEnvBoolean("STRICT_PLUGINS_MATCH")).apply(JSON.stringify);
|
|
37
|
+
resourceInputs["tlsSkipVerify"] = pulumi.output((_b = (args ? args.tlsSkipVerify : undefined)) !== null && _b !== void 0 ? _b : (utilities.getEnvBoolean("TLS_SKIP_VERIFY") || false)).apply(JSON.stringify);
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
super(Provider.__pulumiType, name, inputs, opts);
|
|
39
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
40
|
+
super(Provider.__pulumiType, name, resourceInputs, opts);
|
|
42
41
|
}
|
|
43
42
|
/**
|
|
44
43
|
* 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
|
|
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;IAwCjD;;;;;;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,YAAY,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC/D;YACD,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAA,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,mCAAI,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5K,cAAc,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAA,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,mCAAI,CAAC,SAAS,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3K;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;IA7DD;;;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,4BAkEC;AAjEG,gBAAgB;AACO,qBAAY,GAAG,MAAM,CAAC"}
|
package/route.d.ts
CHANGED
|
@@ -178,75 +178,75 @@ export interface RouteState {
|
|
|
178
178
|
/**
|
|
179
179
|
* A list of destination `ip` and `port`
|
|
180
180
|
*/
|
|
181
|
-
|
|
181
|
+
destinations?: pulumi.Input<pulumi.Input<inputs.RouteDestination>[]>;
|
|
182
182
|
/**
|
|
183
183
|
* One or more blocks of `name` to set name of header and `values` which is a list of `string` for the header values to match on. See above example of how to set. These headers will cause this Route to match if present in the request. The Host header cannot be used with this attribute: hosts should be specified using the hosts attribute.
|
|
184
184
|
*/
|
|
185
|
-
|
|
185
|
+
headers?: pulumi.Input<pulumi.Input<inputs.RouteHeader>[]>;
|
|
186
186
|
/**
|
|
187
187
|
* A list of domain names that match this Route
|
|
188
188
|
*/
|
|
189
|
-
|
|
189
|
+
hosts?: pulumi.Input<pulumi.Input<string>[]>;
|
|
190
190
|
/**
|
|
191
191
|
* The status code Kong responds with when all properties of a Route match except the protocol i.e. if the protocol of the request is HTTP instead of HTTPS. Location header is injected by Kong if the field is set to `301`, `302`, `307` or `308`. Accepted values are: `426`, `301`, `302`, `307`, `308`. Default: `426`.
|
|
192
192
|
*/
|
|
193
|
-
|
|
193
|
+
httpsRedirectStatusCode?: pulumi.Input<number>;
|
|
194
194
|
/**
|
|
195
195
|
* A list of HTTP methods that match this Route
|
|
196
196
|
*/
|
|
197
|
-
|
|
197
|
+
methods?: pulumi.Input<pulumi.Input<string>[]>;
|
|
198
198
|
/**
|
|
199
199
|
* The name of the route
|
|
200
200
|
*/
|
|
201
|
-
|
|
201
|
+
name?: pulumi.Input<string>;
|
|
202
202
|
/**
|
|
203
203
|
* Controls how the Service path, Route path and requested path are combined when sending a request to the upstream.
|
|
204
204
|
*/
|
|
205
|
-
|
|
205
|
+
pathHandling?: pulumi.Input<string>;
|
|
206
206
|
/**
|
|
207
207
|
* A list of paths that match this Route
|
|
208
208
|
*/
|
|
209
|
-
|
|
209
|
+
paths?: pulumi.Input<pulumi.Input<string>[]>;
|
|
210
210
|
/**
|
|
211
211
|
* When matching a Route via one of the hosts domain names, use the request Host header in the upstream request headers. If set to false, the upstream Host header will be that of the Service’s host.
|
|
212
212
|
*/
|
|
213
|
-
|
|
213
|
+
preserveHost?: pulumi.Input<boolean>;
|
|
214
214
|
/**
|
|
215
215
|
* The list of protocols to use
|
|
216
216
|
*/
|
|
217
|
-
|
|
217
|
+
protocols?: pulumi.Input<pulumi.Input<string>[]>;
|
|
218
218
|
/**
|
|
219
219
|
* A number used to choose which route resolves a given request when several routes match it using regexes simultaneously.
|
|
220
220
|
*/
|
|
221
|
-
|
|
221
|
+
regexPriority?: pulumi.Input<number>;
|
|
222
222
|
/**
|
|
223
223
|
* Whether to enable request body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that receive data with chunked transfer encoding. Default: true.
|
|
224
224
|
*/
|
|
225
|
-
|
|
225
|
+
requestBuffering?: pulumi.Input<boolean>;
|
|
226
226
|
/**
|
|
227
227
|
* Whether to enable response body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that send data with chunked transfer encoding. Default: true.
|
|
228
228
|
*/
|
|
229
|
-
|
|
229
|
+
responseBuffering?: pulumi.Input<boolean>;
|
|
230
230
|
/**
|
|
231
231
|
* Service ID to map to
|
|
232
232
|
*/
|
|
233
|
-
|
|
233
|
+
serviceId?: pulumi.Input<string>;
|
|
234
234
|
/**
|
|
235
235
|
* A list of SNIs that match this Route when using stream routing.
|
|
236
236
|
*/
|
|
237
|
-
|
|
237
|
+
snis?: pulumi.Input<pulumi.Input<string>[]>;
|
|
238
238
|
/**
|
|
239
239
|
* A list of source `ip` and `port`
|
|
240
240
|
*/
|
|
241
|
-
|
|
241
|
+
sources?: pulumi.Input<pulumi.Input<inputs.RouteSource>[]>;
|
|
242
242
|
/**
|
|
243
243
|
* When matching a Route via one of the paths, strip the matching prefix from the upstream request URL. Default: true.
|
|
244
244
|
*/
|
|
245
|
-
|
|
245
|
+
stripPath?: pulumi.Input<boolean>;
|
|
246
246
|
/**
|
|
247
247
|
* A list of strings associated with the Route for grouping and filtering.
|
|
248
248
|
*/
|
|
249
|
-
|
|
249
|
+
tags?: pulumi.Input<pulumi.Input<string>[]>;
|
|
250
250
|
}
|
|
251
251
|
/**
|
|
252
252
|
* The set of arguments for constructing a Route resource.
|
|
@@ -255,73 +255,73 @@ export interface RouteArgs {
|
|
|
255
255
|
/**
|
|
256
256
|
* A list of destination `ip` and `port`
|
|
257
257
|
*/
|
|
258
|
-
|
|
258
|
+
destinations?: pulumi.Input<pulumi.Input<inputs.RouteDestination>[]>;
|
|
259
259
|
/**
|
|
260
260
|
* One or more blocks of `name` to set name of header and `values` which is a list of `string` for the header values to match on. See above example of how to set. These headers will cause this Route to match if present in the request. The Host header cannot be used with this attribute: hosts should be specified using the hosts attribute.
|
|
261
261
|
*/
|
|
262
|
-
|
|
262
|
+
headers?: pulumi.Input<pulumi.Input<inputs.RouteHeader>[]>;
|
|
263
263
|
/**
|
|
264
264
|
* A list of domain names that match this Route
|
|
265
265
|
*/
|
|
266
|
-
|
|
266
|
+
hosts?: pulumi.Input<pulumi.Input<string>[]>;
|
|
267
267
|
/**
|
|
268
268
|
* The status code Kong responds with when all properties of a Route match except the protocol i.e. if the protocol of the request is HTTP instead of HTTPS. Location header is injected by Kong if the field is set to `301`, `302`, `307` or `308`. Accepted values are: `426`, `301`, `302`, `307`, `308`. Default: `426`.
|
|
269
269
|
*/
|
|
270
|
-
|
|
270
|
+
httpsRedirectStatusCode?: pulumi.Input<number>;
|
|
271
271
|
/**
|
|
272
272
|
* A list of HTTP methods that match this Route
|
|
273
273
|
*/
|
|
274
|
-
|
|
274
|
+
methods?: pulumi.Input<pulumi.Input<string>[]>;
|
|
275
275
|
/**
|
|
276
276
|
* The name of the route
|
|
277
277
|
*/
|
|
278
|
-
|
|
278
|
+
name?: pulumi.Input<string>;
|
|
279
279
|
/**
|
|
280
280
|
* Controls how the Service path, Route path and requested path are combined when sending a request to the upstream.
|
|
281
281
|
*/
|
|
282
|
-
|
|
282
|
+
pathHandling?: pulumi.Input<string>;
|
|
283
283
|
/**
|
|
284
284
|
* A list of paths that match this Route
|
|
285
285
|
*/
|
|
286
|
-
|
|
286
|
+
paths?: pulumi.Input<pulumi.Input<string>[]>;
|
|
287
287
|
/**
|
|
288
288
|
* When matching a Route via one of the hosts domain names, use the request Host header in the upstream request headers. If set to false, the upstream Host header will be that of the Service’s host.
|
|
289
289
|
*/
|
|
290
|
-
|
|
290
|
+
preserveHost?: pulumi.Input<boolean>;
|
|
291
291
|
/**
|
|
292
292
|
* The list of protocols to use
|
|
293
293
|
*/
|
|
294
|
-
|
|
294
|
+
protocols: pulumi.Input<pulumi.Input<string>[]>;
|
|
295
295
|
/**
|
|
296
296
|
* A number used to choose which route resolves a given request when several routes match it using regexes simultaneously.
|
|
297
297
|
*/
|
|
298
|
-
|
|
298
|
+
regexPriority?: pulumi.Input<number>;
|
|
299
299
|
/**
|
|
300
300
|
* Whether to enable request body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that receive data with chunked transfer encoding. Default: true.
|
|
301
301
|
*/
|
|
302
|
-
|
|
302
|
+
requestBuffering?: pulumi.Input<boolean>;
|
|
303
303
|
/**
|
|
304
304
|
* Whether to enable response body buffering or not. With HTTP 1.1, it may make sense to turn this off on services that send data with chunked transfer encoding. Default: true.
|
|
305
305
|
*/
|
|
306
|
-
|
|
306
|
+
responseBuffering?: pulumi.Input<boolean>;
|
|
307
307
|
/**
|
|
308
308
|
* Service ID to map to
|
|
309
309
|
*/
|
|
310
|
-
|
|
310
|
+
serviceId: pulumi.Input<string>;
|
|
311
311
|
/**
|
|
312
312
|
* A list of SNIs that match this Route when using stream routing.
|
|
313
313
|
*/
|
|
314
|
-
|
|
314
|
+
snis?: pulumi.Input<pulumi.Input<string>[]>;
|
|
315
315
|
/**
|
|
316
316
|
* A list of source `ip` and `port`
|
|
317
317
|
*/
|
|
318
|
-
|
|
318
|
+
sources?: pulumi.Input<pulumi.Input<inputs.RouteSource>[]>;
|
|
319
319
|
/**
|
|
320
320
|
* When matching a Route via one of the paths, strip the matching prefix from the upstream request URL. Default: true.
|
|
321
321
|
*/
|
|
322
|
-
|
|
322
|
+
stripPath?: pulumi.Input<boolean>;
|
|
323
323
|
/**
|
|
324
324
|
* A list of strings associated with the Route for grouping and filtering.
|
|
325
325
|
*/
|
|
326
|
-
|
|
326
|
+
tags?: pulumi.Input<pulumi.Input<string>[]>;
|
|
327
327
|
}
|
package/route.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.Route = void 0;
|
|
5
6
|
const pulumi = require("@pulumi/pulumi");
|
|
6
7
|
const utilities = require("./utilities");
|
|
7
8
|
/**
|
|
@@ -80,28 +81,28 @@ const utilities = require("./utilities");
|
|
|
80
81
|
*/
|
|
81
82
|
class Route extends pulumi.CustomResource {
|
|
82
83
|
constructor(name, argsOrState, opts) {
|
|
83
|
-
let
|
|
84
|
+
let resourceInputs = {};
|
|
84
85
|
opts = opts || {};
|
|
85
86
|
if (opts.id) {
|
|
86
87
|
const state = argsOrState;
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
88
|
+
resourceInputs["destinations"] = state ? state.destinations : undefined;
|
|
89
|
+
resourceInputs["headers"] = state ? state.headers : undefined;
|
|
90
|
+
resourceInputs["hosts"] = state ? state.hosts : undefined;
|
|
91
|
+
resourceInputs["httpsRedirectStatusCode"] = state ? state.httpsRedirectStatusCode : undefined;
|
|
92
|
+
resourceInputs["methods"] = state ? state.methods : undefined;
|
|
93
|
+
resourceInputs["name"] = state ? state.name : undefined;
|
|
94
|
+
resourceInputs["pathHandling"] = state ? state.pathHandling : undefined;
|
|
95
|
+
resourceInputs["paths"] = state ? state.paths : undefined;
|
|
96
|
+
resourceInputs["preserveHost"] = state ? state.preserveHost : undefined;
|
|
97
|
+
resourceInputs["protocols"] = state ? state.protocols : undefined;
|
|
98
|
+
resourceInputs["regexPriority"] = state ? state.regexPriority : undefined;
|
|
99
|
+
resourceInputs["requestBuffering"] = state ? state.requestBuffering : undefined;
|
|
100
|
+
resourceInputs["responseBuffering"] = state ? state.responseBuffering : undefined;
|
|
101
|
+
resourceInputs["serviceId"] = state ? state.serviceId : undefined;
|
|
102
|
+
resourceInputs["snis"] = state ? state.snis : undefined;
|
|
103
|
+
resourceInputs["sources"] = state ? state.sources : undefined;
|
|
104
|
+
resourceInputs["stripPath"] = state ? state.stripPath : undefined;
|
|
105
|
+
resourceInputs["tags"] = state ? state.tags : undefined;
|
|
105
106
|
}
|
|
106
107
|
else {
|
|
107
108
|
const args = argsOrState;
|
|
@@ -111,29 +112,27 @@ class Route extends pulumi.CustomResource {
|
|
|
111
112
|
if ((!args || args.serviceId === undefined) && !opts.urn) {
|
|
112
113
|
throw new Error("Missing required property 'serviceId'");
|
|
113
114
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
115
|
+
resourceInputs["destinations"] = args ? args.destinations : undefined;
|
|
116
|
+
resourceInputs["headers"] = args ? args.headers : undefined;
|
|
117
|
+
resourceInputs["hosts"] = args ? args.hosts : undefined;
|
|
118
|
+
resourceInputs["httpsRedirectStatusCode"] = args ? args.httpsRedirectStatusCode : undefined;
|
|
119
|
+
resourceInputs["methods"] = args ? args.methods : undefined;
|
|
120
|
+
resourceInputs["name"] = args ? args.name : undefined;
|
|
121
|
+
resourceInputs["pathHandling"] = args ? args.pathHandling : undefined;
|
|
122
|
+
resourceInputs["paths"] = args ? args.paths : undefined;
|
|
123
|
+
resourceInputs["preserveHost"] = args ? args.preserveHost : undefined;
|
|
124
|
+
resourceInputs["protocols"] = args ? args.protocols : undefined;
|
|
125
|
+
resourceInputs["regexPriority"] = args ? args.regexPriority : undefined;
|
|
126
|
+
resourceInputs["requestBuffering"] = args ? args.requestBuffering : undefined;
|
|
127
|
+
resourceInputs["responseBuffering"] = args ? args.responseBuffering : undefined;
|
|
128
|
+
resourceInputs["serviceId"] = args ? args.serviceId : undefined;
|
|
129
|
+
resourceInputs["snis"] = args ? args.snis : undefined;
|
|
130
|
+
resourceInputs["sources"] = args ? args.sources : undefined;
|
|
131
|
+
resourceInputs["stripPath"] = args ? args.stripPath : undefined;
|
|
132
|
+
resourceInputs["tags"] = args ? args.tags : undefined;
|
|
132
133
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
}
|
|
136
|
-
super(Route.__pulumiType, name, inputs, opts);
|
|
134
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
135
|
+
super(Route.__pulumiType, name, resourceInputs, opts);
|
|
137
136
|
}
|
|
138
137
|
/**
|
|
139
138
|
* Get an existing Route resource's state with the given name, ID, and optional extra
|
package/route.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.js","sourceRoot":"","sources":["../route.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../route.ts"],"names":[],"mappings":"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"}
|