@pulumi/ec 0.5.2-alpha.1691409334 → 0.6.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.
- package/deployment.d.ts +75 -293
- package/deployment.js +10 -167
- package/deployment.js.map +1 -1
- package/deploymentElasticsearchKeystore.d.ts +27 -24
- package/deploymentElasticsearchKeystore.js +17 -14
- package/deploymentElasticsearchKeystore.js.map +1 -1
- package/deploymentExtension.d.ts +31 -88
- package/deploymentExtension.js +5 -62
- package/deploymentExtension.js.map +1 -1
- package/deploymentTrafficFilter.d.ts +41 -30
- package/deploymentTrafficFilter.js +20 -12
- package/deploymentTrafficFilter.js.map +1 -1
- package/deploymentTrafficFilterAssociation.d.ts +7 -7
- package/deploymentTrafficFilterAssociation.js +1 -1
- package/getAwsPrivatelinkEndpoint.d.ts +7 -8
- package/getAwsPrivatelinkEndpoint.js +4 -8
- package/getAwsPrivatelinkEndpoint.js.map +1 -1
- package/getAzurePrivatelinkEndpoint.d.ts +3 -4
- package/getAzurePrivatelinkEndpoint.js +0 -4
- package/getAzurePrivatelinkEndpoint.js.map +1 -1
- package/getDeployment.d.ts +5 -83
- package/getDeployment.js.map +1 -1
- package/getDeployments.d.ts +75 -85
- package/getDeployments.js +21 -21
- package/getDeployments.js.map +1 -1
- package/getGcpPrivateServiceConnectEndpoint.d.ts +5 -6
- package/getGcpPrivateServiceConnectEndpoint.js +0 -4
- package/getGcpPrivateServiceConnectEndpoint.js.map +1 -1
- package/getStack.d.ts +23 -32
- package/getStack.js +4 -0
- package/getStack.js.map +1 -1
- package/getTrafficFilter.d.ts +99 -0
- package/getTrafficFilter.js +62 -0
- package/getTrafficFilter.js.map +1 -0
- package/index.d.ts +6 -0
- package/index.js +9 -1
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/provider.js +1 -1
- package/provider.js.map +1 -1
- package/snapshotRepository.d.ts +87 -0
- package/snapshotRepository.js +66 -0
- package/snapshotRepository.js.map +1 -0
- package/types/input.d.ts +317 -353
- package/types/output.d.ts +586 -384
package/deploymentExtension.d.ts
CHANGED
|
@@ -1,73 +1,16 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* ### With extension file
|
|
5
|
-
*
|
|
6
|
-
* ```typescript
|
|
7
|
-
* import * as pulumi from "@pulumi/pulumi";
|
|
8
|
-
* import * as crypto from "crypto";
|
|
9
|
-
* import * as ec from "@pulumi/ec";
|
|
10
|
-
* import * as fs from "fs";
|
|
3
|
+
* Provides an Elastic Cloud extension resource, which allows extensions to be created, updated, and deleted.
|
|
11
4
|
*
|
|
12
|
-
*
|
|
13
|
-
* const fileData = Buffer.from(fs.readFileSync(path), 'binary')
|
|
14
|
-
* return crypto.createHash('sha256').update(fileData).digest('hex')
|
|
15
|
-
* }
|
|
5
|
+
* Extensions allow users of Elastic Cloud to use custom plugins, scripts, or dictionaries to enhance the core functionality of Elasticsearch. Before you install an extension, be sure to check out the supported and official [Elasticsearch plugins](https://www.elastic.co/guide/en/elasticsearch/plugins/current/index.html) already available.
|
|
16
6
|
*
|
|
17
|
-
*
|
|
18
|
-
* const exampleExtension = new ec.DeploymentExtension("exampleExtension", {
|
|
19
|
-
* description: "my extension",
|
|
20
|
-
* version: "*",
|
|
21
|
-
* extensionType: "bundle",
|
|
22
|
-
* filePath: filePath,
|
|
23
|
-
* fileHash: computeFilebase64sha256(filePath),
|
|
24
|
-
* });
|
|
25
|
-
* ```
|
|
26
|
-
* ### With download URL
|
|
27
|
-
* ```typescript
|
|
28
|
-
* import * as pulumi from "@pulumi/pulumi";
|
|
29
|
-
* import * as ec from "@pulumi/ec";
|
|
7
|
+
* **Tip :** If you experience timeouts when uploading an extension through a slow network, you might need to increase the timeout setting.
|
|
30
8
|
*
|
|
31
|
-
*
|
|
32
|
-
* description: "my extension",
|
|
33
|
-
* downloadUrl: "https://example.net",
|
|
34
|
-
* extensionType: "bundle",
|
|
35
|
-
* version: "*",
|
|
36
|
-
* });
|
|
37
|
-
* ```
|
|
38
|
-
* ### Using extension in ec.Deployment
|
|
39
|
-
* ```typescript
|
|
40
|
-
* import * as pulumi from "@pulumi/pulumi";
|
|
41
|
-
* import * as ec from "@pulumi/ec";
|
|
42
|
-
*
|
|
43
|
-
* const exampleExtension = new ec.DeploymentExtension("exampleExtension", {
|
|
44
|
-
* description: "my extension",
|
|
45
|
-
* version: "*",
|
|
46
|
-
* extensionType: "bundle",
|
|
47
|
-
* downloadUrl: "https://example.net",
|
|
48
|
-
* });
|
|
49
|
-
* const latest = ec.getStack({
|
|
50
|
-
* versionRegex: "latest",
|
|
51
|
-
* region: "us-east-1",
|
|
52
|
-
* });
|
|
53
|
-
* const withExtension = new ec.Deployment("withExtension", {
|
|
54
|
-
* region: "us-east-1",
|
|
55
|
-
* version: latest.then(latest => latest.version),
|
|
56
|
-
* deploymentTemplateId: "aws-io-optimized-v2",
|
|
57
|
-
* elasticsearch: {
|
|
58
|
-
* extensions: [{
|
|
59
|
-
* name: exampleExtension.name,
|
|
60
|
-
* type: "bundle",
|
|
61
|
-
* version: latest.then(latest => latest.version),
|
|
62
|
-
* url: exampleExtension.url,
|
|
63
|
-
* }],
|
|
64
|
-
* },
|
|
65
|
-
* });
|
|
66
|
-
* ```
|
|
9
|
+
* ## Example Usage
|
|
67
10
|
*
|
|
68
11
|
* ## Import
|
|
69
12
|
*
|
|
70
|
-
*
|
|
13
|
+
* Extensions can be imported using the `id`, for example
|
|
71
14
|
*
|
|
72
15
|
* ```sh
|
|
73
16
|
* $ pulumi import ec:index/deploymentExtension:DeploymentExtension name 320b7b540dfc967a7a649c18e2fce4ed
|
|
@@ -90,43 +33,43 @@ export declare class DeploymentExtension extends pulumi.CustomResource {
|
|
|
90
33
|
*/
|
|
91
34
|
static isInstance(obj: any): obj is DeploymentExtension;
|
|
92
35
|
/**
|
|
93
|
-
* Description
|
|
36
|
+
* Description for the extension
|
|
94
37
|
*/
|
|
95
|
-
readonly description: pulumi.Output<string
|
|
38
|
+
readonly description: pulumi.Output<string>;
|
|
96
39
|
/**
|
|
97
40
|
* The URL to download the extension archive.
|
|
98
41
|
*/
|
|
99
|
-
readonly downloadUrl: pulumi.Output<string
|
|
42
|
+
readonly downloadUrl: pulumi.Output<string>;
|
|
100
43
|
/**
|
|
101
|
-
* `bundle` or `plugin
|
|
44
|
+
* Extension type. Must be `bundle` or `plugin`. A `bundle` will usually contain a dictionary or script, where a `plugin` is compiled from source.
|
|
102
45
|
*/
|
|
103
46
|
readonly extensionType: pulumi.Output<string>;
|
|
104
47
|
/**
|
|
105
|
-
* Hash value of the file.
|
|
48
|
+
* Hash value of the file. Triggers re-uploading the file on change.
|
|
106
49
|
*/
|
|
107
50
|
readonly fileHash: pulumi.Output<string | undefined>;
|
|
108
51
|
/**
|
|
109
|
-
*
|
|
52
|
+
* Local file path to upload as the extension.
|
|
110
53
|
*/
|
|
111
54
|
readonly filePath: pulumi.Output<string | undefined>;
|
|
112
55
|
/**
|
|
113
|
-
* The
|
|
56
|
+
* The datatime the extension was last modified.
|
|
114
57
|
*/
|
|
115
58
|
readonly lastModified: pulumi.Output<string>;
|
|
116
59
|
/**
|
|
117
|
-
* Name of the extension
|
|
60
|
+
* Name of the extension
|
|
118
61
|
*/
|
|
119
62
|
readonly name: pulumi.Output<string>;
|
|
120
63
|
/**
|
|
121
|
-
* The extension file
|
|
64
|
+
* The size of the extension file in bytes.
|
|
122
65
|
*/
|
|
123
66
|
readonly size: pulumi.Output<number>;
|
|
124
67
|
/**
|
|
125
|
-
* The extension URL
|
|
68
|
+
* The extension URL which will be used in the Elastic Cloud deployment plan.
|
|
126
69
|
*/
|
|
127
70
|
readonly url: pulumi.Output<string>;
|
|
128
71
|
/**
|
|
129
|
-
* Elastic stack version
|
|
72
|
+
* Elastic stack version. A full version (e.g 8.7.0) should be set for plugins. A wildcard (e.g 8.*) may be used for bundles.
|
|
130
73
|
*/
|
|
131
74
|
readonly version: pulumi.Output<string>;
|
|
132
75
|
/**
|
|
@@ -143,7 +86,7 @@ export declare class DeploymentExtension extends pulumi.CustomResource {
|
|
|
143
86
|
*/
|
|
144
87
|
export interface DeploymentExtensionState {
|
|
145
88
|
/**
|
|
146
|
-
* Description
|
|
89
|
+
* Description for the extension
|
|
147
90
|
*/
|
|
148
91
|
description?: pulumi.Input<string>;
|
|
149
92
|
/**
|
|
@@ -151,35 +94,35 @@ export interface DeploymentExtensionState {
|
|
|
151
94
|
*/
|
|
152
95
|
downloadUrl?: pulumi.Input<string>;
|
|
153
96
|
/**
|
|
154
|
-
* `bundle` or `plugin
|
|
97
|
+
* Extension type. Must be `bundle` or `plugin`. A `bundle` will usually contain a dictionary or script, where a `plugin` is compiled from source.
|
|
155
98
|
*/
|
|
156
99
|
extensionType?: pulumi.Input<string>;
|
|
157
100
|
/**
|
|
158
|
-
* Hash value of the file.
|
|
101
|
+
* Hash value of the file. Triggers re-uploading the file on change.
|
|
159
102
|
*/
|
|
160
103
|
fileHash?: pulumi.Input<string>;
|
|
161
104
|
/**
|
|
162
|
-
*
|
|
105
|
+
* Local file path to upload as the extension.
|
|
163
106
|
*/
|
|
164
107
|
filePath?: pulumi.Input<string>;
|
|
165
108
|
/**
|
|
166
|
-
* The
|
|
109
|
+
* The datatime the extension was last modified.
|
|
167
110
|
*/
|
|
168
111
|
lastModified?: pulumi.Input<string>;
|
|
169
112
|
/**
|
|
170
|
-
* Name of the extension
|
|
113
|
+
* Name of the extension
|
|
171
114
|
*/
|
|
172
115
|
name?: pulumi.Input<string>;
|
|
173
116
|
/**
|
|
174
|
-
* The extension file
|
|
117
|
+
* The size of the extension file in bytes.
|
|
175
118
|
*/
|
|
176
119
|
size?: pulumi.Input<number>;
|
|
177
120
|
/**
|
|
178
|
-
* The extension URL
|
|
121
|
+
* The extension URL which will be used in the Elastic Cloud deployment plan.
|
|
179
122
|
*/
|
|
180
123
|
url?: pulumi.Input<string>;
|
|
181
124
|
/**
|
|
182
|
-
* Elastic stack version
|
|
125
|
+
* Elastic stack version. A full version (e.g 8.7.0) should be set for plugins. A wildcard (e.g 8.*) may be used for bundles.
|
|
183
126
|
*/
|
|
184
127
|
version?: pulumi.Input<string>;
|
|
185
128
|
}
|
|
@@ -188,7 +131,7 @@ export interface DeploymentExtensionState {
|
|
|
188
131
|
*/
|
|
189
132
|
export interface DeploymentExtensionArgs {
|
|
190
133
|
/**
|
|
191
|
-
* Description
|
|
134
|
+
* Description for the extension
|
|
192
135
|
*/
|
|
193
136
|
description?: pulumi.Input<string>;
|
|
194
137
|
/**
|
|
@@ -196,23 +139,23 @@ export interface DeploymentExtensionArgs {
|
|
|
196
139
|
*/
|
|
197
140
|
downloadUrl?: pulumi.Input<string>;
|
|
198
141
|
/**
|
|
199
|
-
* `bundle` or `plugin
|
|
142
|
+
* Extension type. Must be `bundle` or `plugin`. A `bundle` will usually contain a dictionary or script, where a `plugin` is compiled from source.
|
|
200
143
|
*/
|
|
201
144
|
extensionType: pulumi.Input<string>;
|
|
202
145
|
/**
|
|
203
|
-
* Hash value of the file.
|
|
146
|
+
* Hash value of the file. Triggers re-uploading the file on change.
|
|
204
147
|
*/
|
|
205
148
|
fileHash?: pulumi.Input<string>;
|
|
206
149
|
/**
|
|
207
|
-
*
|
|
150
|
+
* Local file path to upload as the extension.
|
|
208
151
|
*/
|
|
209
152
|
filePath?: pulumi.Input<string>;
|
|
210
153
|
/**
|
|
211
|
-
* Name of the extension
|
|
154
|
+
* Name of the extension
|
|
212
155
|
*/
|
|
213
156
|
name?: pulumi.Input<string>;
|
|
214
157
|
/**
|
|
215
|
-
* Elastic stack version
|
|
158
|
+
* Elastic stack version. A full version (e.g 8.7.0) should be set for plugins. A wildcard (e.g 8.*) may be used for bundles.
|
|
216
159
|
*/
|
|
217
160
|
version: pulumi.Input<string>;
|
|
218
161
|
}
|
package/deploymentExtension.js
CHANGED
|
@@ -6,74 +6,17 @@ exports.DeploymentExtension = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
* ### With extension file
|
|
11
|
-
*
|
|
12
|
-
* ```typescript
|
|
13
|
-
* import * as pulumi from "@pulumi/pulumi";
|
|
14
|
-
* import * as crypto from "crypto";
|
|
15
|
-
* import * as ec from "@pulumi/ec";
|
|
16
|
-
* import * as fs from "fs";
|
|
9
|
+
* Provides an Elastic Cloud extension resource, which allows extensions to be created, updated, and deleted.
|
|
17
10
|
*
|
|
18
|
-
*
|
|
19
|
-
* const fileData = Buffer.from(fs.readFileSync(path), 'binary')
|
|
20
|
-
* return crypto.createHash('sha256').update(fileData).digest('hex')
|
|
21
|
-
* }
|
|
11
|
+
* Extensions allow users of Elastic Cloud to use custom plugins, scripts, or dictionaries to enhance the core functionality of Elasticsearch. Before you install an extension, be sure to check out the supported and official [Elasticsearch plugins](https://www.elastic.co/guide/en/elasticsearch/plugins/current/index.html) already available.
|
|
22
12
|
*
|
|
23
|
-
*
|
|
24
|
-
* const exampleExtension = new ec.DeploymentExtension("exampleExtension", {
|
|
25
|
-
* description: "my extension",
|
|
26
|
-
* version: "*",
|
|
27
|
-
* extensionType: "bundle",
|
|
28
|
-
* filePath: filePath,
|
|
29
|
-
* fileHash: computeFilebase64sha256(filePath),
|
|
30
|
-
* });
|
|
31
|
-
* ```
|
|
32
|
-
* ### With download URL
|
|
33
|
-
* ```typescript
|
|
34
|
-
* import * as pulumi from "@pulumi/pulumi";
|
|
35
|
-
* import * as ec from "@pulumi/ec";
|
|
13
|
+
* **Tip :** If you experience timeouts when uploading an extension through a slow network, you might need to increase the timeout setting.
|
|
36
14
|
*
|
|
37
|
-
*
|
|
38
|
-
* description: "my extension",
|
|
39
|
-
* downloadUrl: "https://example.net",
|
|
40
|
-
* extensionType: "bundle",
|
|
41
|
-
* version: "*",
|
|
42
|
-
* });
|
|
43
|
-
* ```
|
|
44
|
-
* ### Using extension in ec.Deployment
|
|
45
|
-
* ```typescript
|
|
46
|
-
* import * as pulumi from "@pulumi/pulumi";
|
|
47
|
-
* import * as ec from "@pulumi/ec";
|
|
48
|
-
*
|
|
49
|
-
* const exampleExtension = new ec.DeploymentExtension("exampleExtension", {
|
|
50
|
-
* description: "my extension",
|
|
51
|
-
* version: "*",
|
|
52
|
-
* extensionType: "bundle",
|
|
53
|
-
* downloadUrl: "https://example.net",
|
|
54
|
-
* });
|
|
55
|
-
* const latest = ec.getStack({
|
|
56
|
-
* versionRegex: "latest",
|
|
57
|
-
* region: "us-east-1",
|
|
58
|
-
* });
|
|
59
|
-
* const withExtension = new ec.Deployment("withExtension", {
|
|
60
|
-
* region: "us-east-1",
|
|
61
|
-
* version: latest.then(latest => latest.version),
|
|
62
|
-
* deploymentTemplateId: "aws-io-optimized-v2",
|
|
63
|
-
* elasticsearch: {
|
|
64
|
-
* extensions: [{
|
|
65
|
-
* name: exampleExtension.name,
|
|
66
|
-
* type: "bundle",
|
|
67
|
-
* version: latest.then(latest => latest.version),
|
|
68
|
-
* url: exampleExtension.url,
|
|
69
|
-
* }],
|
|
70
|
-
* },
|
|
71
|
-
* });
|
|
72
|
-
* ```
|
|
15
|
+
* ## Example Usage
|
|
73
16
|
*
|
|
74
17
|
* ## Import
|
|
75
18
|
*
|
|
76
|
-
*
|
|
19
|
+
* Extensions can be imported using the `id`, for example
|
|
77
20
|
*
|
|
78
21
|
* ```sh
|
|
79
22
|
* $ pulumi import ec:index/deploymentExtension:DeploymentExtension name 320b7b540dfc967a7a649c18e2fce4ed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploymentExtension.js","sourceRoot":"","sources":["../deploymentExtension.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"deploymentExtension.js","sourceRoot":"","sources":["../deploymentExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,8 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
import * as inputs from "./types/input";
|
|
3
3
|
import * as outputs from "./types/output";
|
|
4
4
|
/**
|
|
5
|
-
* Provides an Elastic Cloud traffic filter resource, which allows traffic filter rules to be created, updated, and deleted. Traffic filter rules are used to limit inbound traffic to deployment resources.
|
|
6
|
-
*
|
|
7
5
|
* ## Example Usage
|
|
8
|
-
* ### IP
|
|
6
|
+
* ### IP based traffic filter
|
|
9
7
|
*
|
|
10
8
|
* ```typescript
|
|
11
9
|
* import * as pulumi from "@pulumi/pulumi";
|
|
@@ -28,11 +26,15 @@ import * as outputs from "./types/output";
|
|
|
28
26
|
* version: latest.then(latest => latest.version),
|
|
29
27
|
* deploymentTemplateId: "aws-io-optimized-v2",
|
|
30
28
|
* trafficFilters: [example.id],
|
|
31
|
-
* elasticsearch: {
|
|
29
|
+
* elasticsearch: {
|
|
30
|
+
* hot: {
|
|
31
|
+
* autoscaling: {},
|
|
32
|
+
* },
|
|
33
|
+
* },
|
|
32
34
|
* kibana: {},
|
|
33
35
|
* });
|
|
34
36
|
* ```
|
|
35
|
-
* ### Azure Private Link
|
|
37
|
+
* ### Azure Private Link traffic filter
|
|
36
38
|
*
|
|
37
39
|
* ```typescript
|
|
38
40
|
* import * as pulumi from "@pulumi/pulumi";
|
|
@@ -57,11 +59,16 @@ import * as outputs from "./types/output";
|
|
|
57
59
|
* version: latest.then(latest => latest.version),
|
|
58
60
|
* deploymentTemplateId: "azure-io-optimized-v3",
|
|
59
61
|
* trafficFilters: [azure.id],
|
|
60
|
-
* elasticsearch: {
|
|
62
|
+
* elasticsearch: {
|
|
63
|
+
* hot: {
|
|
64
|
+
* autoscaling: {},
|
|
65
|
+
* },
|
|
66
|
+
* },
|
|
61
67
|
* kibana: {},
|
|
62
68
|
* });
|
|
63
69
|
* ```
|
|
64
|
-
*
|
|
70
|
+
*
|
|
71
|
+
* ###GCP Private Service Connect traffic filter
|
|
65
72
|
*
|
|
66
73
|
* ```typescript
|
|
67
74
|
* import * as pulumi from "@pulumi/pulumi";
|
|
@@ -85,14 +92,18 @@ import * as outputs from "./types/output";
|
|
|
85
92
|
* version: latest.then(latest => latest.version),
|
|
86
93
|
* deploymentTemplateId: "gcp-storage-optimized",
|
|
87
94
|
* trafficFilters: [gcpPsc.id],
|
|
88
|
-
* elasticsearch: {
|
|
95
|
+
* elasticsearch: {
|
|
96
|
+
* hot: {
|
|
97
|
+
* autoscaling: {},
|
|
98
|
+
* },
|
|
99
|
+
* },
|
|
89
100
|
* kibana: {},
|
|
90
101
|
* });
|
|
91
102
|
* ```
|
|
92
103
|
*
|
|
93
104
|
* ## Import
|
|
94
105
|
*
|
|
95
|
-
*
|
|
106
|
+
* Traffic filters can be imported using the `id`, for example
|
|
96
107
|
*
|
|
97
108
|
* ```sh
|
|
98
109
|
* $ pulumi import ec:index/deploymentTrafficFilter:DeploymentTrafficFilter name 320b7b540dfc967a7a649c18e2fce4ed
|
|
@@ -115,27 +126,27 @@ export declare class DeploymentTrafficFilter extends pulumi.CustomResource {
|
|
|
115
126
|
*/
|
|
116
127
|
static isInstance(obj: any): obj is DeploymentTrafficFilter;
|
|
117
128
|
/**
|
|
118
|
-
*
|
|
129
|
+
* Ruleset description
|
|
119
130
|
*/
|
|
120
131
|
readonly description: pulumi.Output<string | undefined>;
|
|
121
132
|
/**
|
|
122
|
-
*
|
|
133
|
+
* Indicates that the ruleset should be automatically included in new deployments (Defaults to false)
|
|
123
134
|
*/
|
|
124
|
-
readonly includeByDefault: pulumi.Output<boolean
|
|
135
|
+
readonly includeByDefault: pulumi.Output<boolean>;
|
|
125
136
|
/**
|
|
126
|
-
* Name of the ruleset
|
|
137
|
+
* Name of the ruleset
|
|
127
138
|
*/
|
|
128
139
|
readonly name: pulumi.Output<string>;
|
|
129
140
|
/**
|
|
130
|
-
* Filter region, the ruleset can only be attached to deployments in the specific region
|
|
141
|
+
* Filter region, the ruleset can only be attached to deployments in the specific region
|
|
131
142
|
*/
|
|
132
143
|
readonly region: pulumi.Output<string>;
|
|
133
144
|
/**
|
|
134
|
-
*
|
|
145
|
+
* Set of rules, which the ruleset is made of.
|
|
135
146
|
*/
|
|
136
|
-
readonly rules: pulumi.Output<outputs.DeploymentTrafficFilterRule[]>;
|
|
147
|
+
readonly rules: pulumi.Output<outputs.DeploymentTrafficFilterRule[] | undefined>;
|
|
137
148
|
/**
|
|
138
|
-
* Type of the ruleset.
|
|
149
|
+
* Type of the ruleset. It can be `ip`, `vpce`, `azurePrivateEndpoint`, or `gcpPrivateServiceConnectEndpoint`
|
|
139
150
|
*/
|
|
140
151
|
readonly type: pulumi.Output<string>;
|
|
141
152
|
/**
|
|
@@ -152,27 +163,27 @@ export declare class DeploymentTrafficFilter extends pulumi.CustomResource {
|
|
|
152
163
|
*/
|
|
153
164
|
export interface DeploymentTrafficFilterState {
|
|
154
165
|
/**
|
|
155
|
-
*
|
|
166
|
+
* Ruleset description
|
|
156
167
|
*/
|
|
157
168
|
description?: pulumi.Input<string>;
|
|
158
169
|
/**
|
|
159
|
-
*
|
|
170
|
+
* Indicates that the ruleset should be automatically included in new deployments (Defaults to false)
|
|
160
171
|
*/
|
|
161
172
|
includeByDefault?: pulumi.Input<boolean>;
|
|
162
173
|
/**
|
|
163
|
-
* Name of the ruleset
|
|
174
|
+
* Name of the ruleset
|
|
164
175
|
*/
|
|
165
176
|
name?: pulumi.Input<string>;
|
|
166
177
|
/**
|
|
167
|
-
* Filter region, the ruleset can only be attached to deployments in the specific region
|
|
178
|
+
* Filter region, the ruleset can only be attached to deployments in the specific region
|
|
168
179
|
*/
|
|
169
180
|
region?: pulumi.Input<string>;
|
|
170
181
|
/**
|
|
171
|
-
*
|
|
182
|
+
* Set of rules, which the ruleset is made of.
|
|
172
183
|
*/
|
|
173
184
|
rules?: pulumi.Input<pulumi.Input<inputs.DeploymentTrafficFilterRule>[]>;
|
|
174
185
|
/**
|
|
175
|
-
* Type of the ruleset.
|
|
186
|
+
* Type of the ruleset. It can be `ip`, `vpce`, `azurePrivateEndpoint`, or `gcpPrivateServiceConnectEndpoint`
|
|
176
187
|
*/
|
|
177
188
|
type?: pulumi.Input<string>;
|
|
178
189
|
}
|
|
@@ -181,27 +192,27 @@ export interface DeploymentTrafficFilterState {
|
|
|
181
192
|
*/
|
|
182
193
|
export interface DeploymentTrafficFilterArgs {
|
|
183
194
|
/**
|
|
184
|
-
*
|
|
195
|
+
* Ruleset description
|
|
185
196
|
*/
|
|
186
197
|
description?: pulumi.Input<string>;
|
|
187
198
|
/**
|
|
188
|
-
*
|
|
199
|
+
* Indicates that the ruleset should be automatically included in new deployments (Defaults to false)
|
|
189
200
|
*/
|
|
190
201
|
includeByDefault?: pulumi.Input<boolean>;
|
|
191
202
|
/**
|
|
192
|
-
* Name of the ruleset
|
|
203
|
+
* Name of the ruleset
|
|
193
204
|
*/
|
|
194
205
|
name?: pulumi.Input<string>;
|
|
195
206
|
/**
|
|
196
|
-
* Filter region, the ruleset can only be attached to deployments in the specific region
|
|
207
|
+
* Filter region, the ruleset can only be attached to deployments in the specific region
|
|
197
208
|
*/
|
|
198
209
|
region: pulumi.Input<string>;
|
|
199
210
|
/**
|
|
200
|
-
*
|
|
211
|
+
* Set of rules, which the ruleset is made of.
|
|
201
212
|
*/
|
|
202
|
-
rules
|
|
213
|
+
rules?: pulumi.Input<pulumi.Input<inputs.DeploymentTrafficFilterRule>[]>;
|
|
203
214
|
/**
|
|
204
|
-
* Type of the ruleset.
|
|
215
|
+
* Type of the ruleset. It can be `ip`, `vpce`, `azurePrivateEndpoint`, or `gcpPrivateServiceConnectEndpoint`
|
|
205
216
|
*/
|
|
206
217
|
type: pulumi.Input<string>;
|
|
207
218
|
}
|
|
@@ -6,10 +6,8 @@ exports.DeploymentTrafficFilter = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
-
* Provides an Elastic Cloud traffic filter resource, which allows traffic filter rules to be created, updated, and deleted. Traffic filter rules are used to limit inbound traffic to deployment resources.
|
|
10
|
-
*
|
|
11
9
|
* ## Example Usage
|
|
12
|
-
* ### IP
|
|
10
|
+
* ### IP based traffic filter
|
|
13
11
|
*
|
|
14
12
|
* ```typescript
|
|
15
13
|
* import * as pulumi from "@pulumi/pulumi";
|
|
@@ -32,11 +30,15 @@ const utilities = require("./utilities");
|
|
|
32
30
|
* version: latest.then(latest => latest.version),
|
|
33
31
|
* deploymentTemplateId: "aws-io-optimized-v2",
|
|
34
32
|
* trafficFilters: [example.id],
|
|
35
|
-
* elasticsearch: {
|
|
33
|
+
* elasticsearch: {
|
|
34
|
+
* hot: {
|
|
35
|
+
* autoscaling: {},
|
|
36
|
+
* },
|
|
37
|
+
* },
|
|
36
38
|
* kibana: {},
|
|
37
39
|
* });
|
|
38
40
|
* ```
|
|
39
|
-
* ### Azure Private Link
|
|
41
|
+
* ### Azure Private Link traffic filter
|
|
40
42
|
*
|
|
41
43
|
* ```typescript
|
|
42
44
|
* import * as pulumi from "@pulumi/pulumi";
|
|
@@ -61,11 +63,16 @@ const utilities = require("./utilities");
|
|
|
61
63
|
* version: latest.then(latest => latest.version),
|
|
62
64
|
* deploymentTemplateId: "azure-io-optimized-v3",
|
|
63
65
|
* trafficFilters: [azure.id],
|
|
64
|
-
* elasticsearch: {
|
|
66
|
+
* elasticsearch: {
|
|
67
|
+
* hot: {
|
|
68
|
+
* autoscaling: {},
|
|
69
|
+
* },
|
|
70
|
+
* },
|
|
65
71
|
* kibana: {},
|
|
66
72
|
* });
|
|
67
73
|
* ```
|
|
68
|
-
*
|
|
74
|
+
*
|
|
75
|
+
* ###GCP Private Service Connect traffic filter
|
|
69
76
|
*
|
|
70
77
|
* ```typescript
|
|
71
78
|
* import * as pulumi from "@pulumi/pulumi";
|
|
@@ -89,14 +96,18 @@ const utilities = require("./utilities");
|
|
|
89
96
|
* version: latest.then(latest => latest.version),
|
|
90
97
|
* deploymentTemplateId: "gcp-storage-optimized",
|
|
91
98
|
* trafficFilters: [gcpPsc.id],
|
|
92
|
-
* elasticsearch: {
|
|
99
|
+
* elasticsearch: {
|
|
100
|
+
* hot: {
|
|
101
|
+
* autoscaling: {},
|
|
102
|
+
* },
|
|
103
|
+
* },
|
|
93
104
|
* kibana: {},
|
|
94
105
|
* });
|
|
95
106
|
* ```
|
|
96
107
|
*
|
|
97
108
|
* ## Import
|
|
98
109
|
*
|
|
99
|
-
*
|
|
110
|
+
* Traffic filters can be imported using the `id`, for example
|
|
100
111
|
*
|
|
101
112
|
* ```sh
|
|
102
113
|
* $ pulumi import ec:index/deploymentTrafficFilter:DeploymentTrafficFilter name 320b7b540dfc967a7a649c18e2fce4ed
|
|
@@ -142,9 +153,6 @@ class DeploymentTrafficFilter extends pulumi.CustomResource {
|
|
|
142
153
|
if ((!args || args.region === undefined) && !opts.urn) {
|
|
143
154
|
throw new Error("Missing required property 'region'");
|
|
144
155
|
}
|
|
145
|
-
if ((!args || args.rules === undefined) && !opts.urn) {
|
|
146
|
-
throw new Error("Missing required property 'rules'");
|
|
147
|
-
}
|
|
148
156
|
if ((!args || args.type === undefined) && !opts.urn) {
|
|
149
157
|
throw new Error("Missing required property 'type'");
|
|
150
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploymentTrafficFilter.js","sourceRoot":"","sources":["../deploymentTrafficFilter.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"deploymentTrafficFilter.js","sourceRoot":"","sources":["../deploymentTrafficFilter.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
24
24
|
*
|
|
25
25
|
* ## Import
|
|
26
26
|
*
|
|
27
|
-
* Import is not supported on this resource
|
|
27
|
+
* Import is not supported on this resource
|
|
28
28
|
*/
|
|
29
29
|
export declare class DeploymentTrafficFilterAssociation extends pulumi.CustomResource {
|
|
30
30
|
/**
|
|
@@ -43,11 +43,11 @@ export declare class DeploymentTrafficFilterAssociation extends pulumi.CustomRes
|
|
|
43
43
|
*/
|
|
44
44
|
static isInstance(obj: any): obj is DeploymentTrafficFilterAssociation;
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* Required deployment ID where the traffic filter will be associated
|
|
47
47
|
*/
|
|
48
48
|
readonly deploymentId: pulumi.Output<string>;
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
50
|
+
* Required traffic filter ruleset ID to tie to a deployment
|
|
51
51
|
*/
|
|
52
52
|
readonly trafficFilterId: pulumi.Output<string>;
|
|
53
53
|
/**
|
|
@@ -64,11 +64,11 @@ export declare class DeploymentTrafficFilterAssociation extends pulumi.CustomRes
|
|
|
64
64
|
*/
|
|
65
65
|
export interface DeploymentTrafficFilterAssociationState {
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* Required deployment ID where the traffic filter will be associated
|
|
68
68
|
*/
|
|
69
69
|
deploymentId?: pulumi.Input<string>;
|
|
70
70
|
/**
|
|
71
|
-
*
|
|
71
|
+
* Required traffic filter ruleset ID to tie to a deployment
|
|
72
72
|
*/
|
|
73
73
|
trafficFilterId?: pulumi.Input<string>;
|
|
74
74
|
}
|
|
@@ -77,11 +77,11 @@ export interface DeploymentTrafficFilterAssociationState {
|
|
|
77
77
|
*/
|
|
78
78
|
export interface DeploymentTrafficFilterAssociationArgs {
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* Required deployment ID where the traffic filter will be associated
|
|
81
81
|
*/
|
|
82
82
|
deploymentId: pulumi.Input<string>;
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
84
|
+
* Required traffic filter ruleset ID to tie to a deployment
|
|
85
85
|
*/
|
|
86
86
|
trafficFilterId: pulumi.Input<string>;
|
|
87
87
|
}
|