@pulumi/ec 0.10.9 → 0.10.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/config/vars.d.ts +3 -0
  2. package/config/vars.js.map +1 -1
  3. package/deployment.d.ts +24 -4
  4. package/deployment.js +12 -4
  5. package/deployment.js.map +1 -1
  6. package/deploymentElasticsearchKeystore.d.ts +12 -0
  7. package/deploymentElasticsearchKeystore.js +12 -0
  8. package/deploymentElasticsearchKeystore.js.map +1 -1
  9. package/deploymentTrafficFilter.d.ts +7 -3
  10. package/deploymentTrafficFilter.js +4 -0
  11. package/deploymentTrafficFilter.js.map +1 -1
  12. package/deploymentTrafficFilterAssociation.d.ts +2 -0
  13. package/deploymentTrafficFilterAssociation.js +2 -0
  14. package/deploymentTrafficFilterAssociation.js.map +1 -1
  15. package/elasticsearchProject.d.ts +40 -5
  16. package/elasticsearchProject.js +7 -1
  17. package/elasticsearchProject.js.map +1 -1
  18. package/index.d.ts +3 -0
  19. package/index.js +6 -1
  20. package/index.js.map +1 -1
  21. package/observabilityProject.d.ts +28 -2
  22. package/observabilityProject.js +7 -1
  23. package/observabilityProject.js.map +1 -1
  24. package/organization.d.ts +81 -0
  25. package/organization.js +81 -0
  26. package/organization.js.map +1 -1
  27. package/package.json +2 -2
  28. package/provider.d.ts +6 -0
  29. package/provider.js.map +1 -1
  30. package/securityProject.d.ts +40 -2
  31. package/securityProject.js +9 -1
  32. package/securityProject.js.map +1 -1
  33. package/serverlessTrafficFilter.d.ts +140 -0
  34. package/serverlessTrafficFilter.js +95 -0
  35. package/serverlessTrafficFilter.js.map +1 -0
  36. package/snapshotRepository.d.ts +4 -0
  37. package/snapshotRepository.js +4 -0
  38. package/snapshotRepository.js.map +1 -1
  39. package/types/input.d.ts +99 -0
  40. package/types/output.d.ts +107 -0
@@ -30,6 +30,8 @@ const utilities = require("./utilities");
30
30
  * ```sh
31
31
  * $ pulumi import ec:index/observabilityProject:ObservabilityProject id 320b7b540dfc967a7a649c18e2fce4ed
32
32
  * ```
33
+ *
34
+ * > **Note on Credentials** The `credentials` attribute (containing `username` and `password`) is only available when the project is first created. When importing an existing project, these credentials will not be available in the Terraform state as the API does not return them on read operations.
33
35
  */
34
36
  class ObservabilityProject extends pulumi.CustomResource {
35
37
  /**
@@ -65,8 +67,10 @@ class ObservabilityProject extends pulumi.CustomResource {
65
67
  resourceInputs["endpoints"] = state?.endpoints;
66
68
  resourceInputs["metadata"] = state?.metadata;
67
69
  resourceInputs["name"] = state?.name;
70
+ resourceInputs["privateEndpoints"] = state?.privateEndpoints;
68
71
  resourceInputs["productTier"] = state?.productTier;
69
72
  resourceInputs["regionId"] = state?.regionId;
73
+ resourceInputs["trafficFilterIds"] = state?.trafficFilterIds;
70
74
  resourceInputs["type"] = state?.type;
71
75
  }
72
76
  else {
@@ -75,13 +79,15 @@ class ObservabilityProject extends pulumi.CustomResource {
75
79
  throw new Error("Missing required property 'regionId'");
76
80
  }
77
81
  resourceInputs["alias"] = args?.alias;
82
+ resourceInputs["metadata"] = args?.metadata;
78
83
  resourceInputs["name"] = args?.name;
79
84
  resourceInputs["productTier"] = args?.productTier;
80
85
  resourceInputs["regionId"] = args?.regionId;
86
+ resourceInputs["trafficFilterIds"] = args?.trafficFilterIds;
81
87
  resourceInputs["cloudId"] = undefined /*out*/;
82
88
  resourceInputs["credentials"] = undefined /*out*/;
83
89
  resourceInputs["endpoints"] = undefined /*out*/;
84
- resourceInputs["metadata"] = undefined /*out*/;
90
+ resourceInputs["privateEndpoints"] = undefined /*out*/;
85
91
  resourceInputs["type"] = undefined /*out*/;
86
92
  }
87
93
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
@@ -1 +1 @@
1
- {"version":3,"file":"observabilityProject.js","sourceRoot":"","sources":["../observabilityProject.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAa,oBAAqB,SAAQ,MAAM,CAAC,cAAc;IAC3D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiC,EAAE,IAAmC;QAC/H,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3E,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,oBAAoB,CAAC,YAAY,CAAC;IACrE,CAAC;IA+CD,YAAY,IAAY,EAAE,WAAkE,EAAE,IAAmC;QAC7H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAoD,CAAC;YACnE,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;SACxC;aAAM;YACH,MAAM,IAAI,GAAG,WAAmD,CAAC;YACjE,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC9C,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClD,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC/C,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;;AAxGL,oDAyGC;AA3FG,gBAAgB;AACO,iCAAY,GAAG,oDAAoD,CAAC"}
1
+ {"version":3,"file":"observabilityProject.js","sourceRoot":"","sources":["../observabilityProject.ts"],"names":[],"mappings":"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"}
package/organization.d.ts CHANGED
@@ -1,6 +1,87 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import * as inputs from "./types/input";
3
3
  import * as outputs from "./types/output";
4
+ /**
5
+ * Manages an Elastic Cloud organization membership.
6
+ *
7
+ * > **This resource can only be used with Elastic Cloud SaaS**
8
+ *
9
+ * ## Example Usage
10
+ *
11
+ * ### Import
12
+ *
13
+ * To import an organization into terraform, first define your organization configuration in your terraform file. For example:
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as ec from "@pulumi/ec";
17
+ *
18
+ * const myorg = new ec.Organization("myorg", {});
19
+ * ```
20
+ *
21
+ * Then import the organization using your organization-id (The organization id can be found on [the organization page](https://cloud.elastic.co/account/members))
22
+ *
23
+ * Now you can run `pulumi preview` to see if there are any diffs between your config and how your organization is currently configured.
24
+ *
25
+ * ### Basic
26
+ *
27
+ * ```typescript
28
+ * import * as pulumi from "@pulumi/pulumi";
29
+ * import * as ec from "@pulumi/ec";
30
+ *
31
+ * const myOrg = new ec.Organization("my_org", {members: {
32
+ * "a.member@example.com": {
33
+ * organizationRole: "billing-admin",
34
+ * deploymentRoles: [
35
+ * {
36
+ * role: "editor",
37
+ * allDeployments: true,
38
+ * },
39
+ * {
40
+ * role: "editor",
41
+ * deploymentIds: ["ce03a623751b4fc98d48400fec58b9c0"],
42
+ * },
43
+ * ],
44
+ * projectElasticsearchRoles: [
45
+ * {
46
+ * role: "admin",
47
+ * allProjects: true,
48
+ * },
49
+ * {
50
+ * role: "admin",
51
+ * projectIds: ["c866244b611442d585e23a0cc8c9434c"],
52
+ * },
53
+ * ],
54
+ * projectObservabilityRoles: [],
55
+ * projectSecurityRoles: [],
56
+ * },
57
+ * }});
58
+ * ```
59
+ *
60
+ * ### Use variables to give the same roles to multiple users
61
+ *
62
+ * ```typescript
63
+ * import * as pulumi from "@pulumi/pulumi";
64
+ * import * as ec from "@pulumi/ec";
65
+ *
66
+ * const deploymentAdmin = {
67
+ * deploymentRoles: [{
68
+ * role: "admin",
69
+ * allDeployments: true,
70
+ * }],
71
+ * };
72
+ * const deploymentViewer = {
73
+ * deploymentRoles: [{
74
+ * role: "viewer",
75
+ * allDeployments: true,
76
+ * }],
77
+ * };
78
+ * const myOrg = new ec.Organization("my_org", {members: {
79
+ * "admin@example.com": deploymentAdmin,
80
+ * "viewer@example.com": deploymentViewer,
81
+ * "another.viewer@example.com": deploymentViewer,
82
+ * }});
83
+ * ```
84
+ */
4
85
  export declare class Organization extends pulumi.CustomResource {
5
86
  /**
6
87
  * Get an existing Organization resource's state with the given name, ID, and optional extra
package/organization.js CHANGED
@@ -5,6 +5,87 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.Organization = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
+ /**
9
+ * Manages an Elastic Cloud organization membership.
10
+ *
11
+ * > **This resource can only be used with Elastic Cloud SaaS**
12
+ *
13
+ * ## Example Usage
14
+ *
15
+ * ### Import
16
+ *
17
+ * To import an organization into terraform, first define your organization configuration in your terraform file. For example:
18
+ * ```typescript
19
+ * import * as pulumi from "@pulumi/pulumi";
20
+ * import * as ec from "@pulumi/ec";
21
+ *
22
+ * const myorg = new ec.Organization("myorg", {});
23
+ * ```
24
+ *
25
+ * Then import the organization using your organization-id (The organization id can be found on [the organization page](https://cloud.elastic.co/account/members))
26
+ *
27
+ * Now you can run `pulumi preview` to see if there are any diffs between your config and how your organization is currently configured.
28
+ *
29
+ * ### Basic
30
+ *
31
+ * ```typescript
32
+ * import * as pulumi from "@pulumi/pulumi";
33
+ * import * as ec from "@pulumi/ec";
34
+ *
35
+ * const myOrg = new ec.Organization("my_org", {members: {
36
+ * "a.member@example.com": {
37
+ * organizationRole: "billing-admin",
38
+ * deploymentRoles: [
39
+ * {
40
+ * role: "editor",
41
+ * allDeployments: true,
42
+ * },
43
+ * {
44
+ * role: "editor",
45
+ * deploymentIds: ["ce03a623751b4fc98d48400fec58b9c0"],
46
+ * },
47
+ * ],
48
+ * projectElasticsearchRoles: [
49
+ * {
50
+ * role: "admin",
51
+ * allProjects: true,
52
+ * },
53
+ * {
54
+ * role: "admin",
55
+ * projectIds: ["c866244b611442d585e23a0cc8c9434c"],
56
+ * },
57
+ * ],
58
+ * projectObservabilityRoles: [],
59
+ * projectSecurityRoles: [],
60
+ * },
61
+ * }});
62
+ * ```
63
+ *
64
+ * ### Use variables to give the same roles to multiple users
65
+ *
66
+ * ```typescript
67
+ * import * as pulumi from "@pulumi/pulumi";
68
+ * import * as ec from "@pulumi/ec";
69
+ *
70
+ * const deploymentAdmin = {
71
+ * deploymentRoles: [{
72
+ * role: "admin",
73
+ * allDeployments: true,
74
+ * }],
75
+ * };
76
+ * const deploymentViewer = {
77
+ * deploymentRoles: [{
78
+ * role: "viewer",
79
+ * allDeployments: true,
80
+ * }],
81
+ * };
82
+ * const myOrg = new ec.Organization("my_org", {members: {
83
+ * "admin@example.com": deploymentAdmin,
84
+ * "viewer@example.com": deploymentViewer,
85
+ * "another.viewer@example.com": deploymentViewer,
86
+ * }});
87
+ * ```
88
+ */
8
89
  class Organization extends pulumi.CustomResource {
9
90
  /**
10
91
  * Get an existing Organization resource's state with the given name, ID, and optional extra
@@ -1 +1 @@
1
- {"version":3,"file":"organization.js","sourceRoot":"","sources":["../organization.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC,MAAa,YAAa,SAAQ,MAAM,CAAC,cAAc;IACnD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAyB,EAAE,IAAmC;QACvH,OAAO,IAAI,YAAY,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,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,YAAY,CAAC,YAAY,CAAC;IAC7D,CAAC;IAeD,YAAY,IAAY,EAAE,WAAkD,EAAE,IAAmC;QAC7G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA4C,CAAC;YAC3D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAA2C,CAAC;YACzD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;SAC7C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;;AArDL,oCAsDC;AAxCG,gBAAgB;AACO,yBAAY,GAAG,oCAAoC,CAAC"}
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../organization.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgFG;AACH,MAAa,YAAa,SAAQ,MAAM,CAAC,cAAc;IACnD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAyB,EAAE,IAAmC;QACvH,OAAO,IAAI,YAAY,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,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,YAAY,CAAC,YAAY,CAAC;IAC7D,CAAC;IAeD,YAAY,IAAY,EAAE,WAAkD,EAAE,IAAmC;QAC7G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA4C,CAAC;YAC3D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;SAC9C;aAAM;YACH,MAAM,IAAI,GAAG,WAA2C,CAAC;YACzD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;SAC7C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;;AArDL,oCAsDC;AAxCG,gBAAgB;AACO,yBAAY,GAAG,oCAAoC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/ec",
3
- "version": "0.10.9",
3
+ "version": "0.10.11",
4
4
  "description": "A Pulumi package for creating and managing ElasticCloud resources.",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -27,6 +27,6 @@
27
27
  "pulumi": {
28
28
  "resource": true,
29
29
  "name": "ec",
30
- "version": "0.10.9"
30
+ "version": "0.10.11"
31
31
  }
32
32
  }
package/provider.d.ts CHANGED
@@ -15,6 +15,9 @@ export declare class Provider extends pulumi.ProviderResource {
15
15
  * API Key to use for API authentication. The only valid authentication mechanism for the Elasticsearch Service.
16
16
  */
17
17
  readonly apikey: pulumi.Output<string | undefined>;
18
+ /**
19
+ * Endpoint where the terraform provider will point to. Defaults to "https://api.elastic-cloud.com".
20
+ */
18
21
  readonly endpoint: pulumi.Output<string | undefined>;
19
22
  /**
20
23
  * Password to use for API authentication. Available only when targeting ECE Installations or Elasticsearch Service Private.
@@ -53,6 +56,9 @@ export interface ProviderArgs {
53
56
  * API Key to use for API authentication. The only valid authentication mechanism for the Elasticsearch Service.
54
57
  */
55
58
  apikey?: pulumi.Input<string>;
59
+ /**
60
+ * Endpoint where the terraform provider will point to. Defaults to "https://api.elastic-cloud.com".
61
+ */
56
62
  endpoint?: pulumi.Input<string>;
57
63
  /**
58
64
  * Allow the provider to skip TLS validation on its outgoing HTTP calls.
package/provider.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAIjD;;;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,mBAAmB,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC/E,CAAC;IAwBD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAmB,EAAE,IAA6B;QACxE,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB;YACI,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjF,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjF,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/E,cAAc,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrG,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;SACrD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,uBAAuB,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;QACvE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,eAAe;QACX,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE;YAC9D,UAAU,EAAE,IAAI;SACnB,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;;AAvEL,4BAwEC;AAvEG,gBAAgB;AACO,qBAAY,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAIjD;;;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,mBAAmB,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC/E,CAAC;IA2BD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAmB,EAAE,IAA6B;QACxE,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB;YACI,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjF,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjF,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/E,cAAc,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrG,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;SACrD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,uBAAuB,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;QACvE,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,eAAe;QACX,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE;YAC9D,UAAU,EAAE,IAAI;SACnB,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;;AA1EL,4BA2EC;AA1EG,gBAAgB;AACO,qBAAY,GAAG,IAAI,CAAC"}
@@ -26,6 +26,8 @@ import * as outputs from "./types/output";
26
26
  * ```sh
27
27
  * $ pulumi import ec:index/securityProject:SecurityProject id 320b7b540dfc967a7a649c18e2fce4ed
28
28
  * ```
29
+ *
30
+ * > **Note on Credentials** The `credentials` attribute (containing `username` and `password`) is only available when the project is first created. When importing an existing project, these credentials will not be available in the Terraform state as the API does not return them on read operations.
29
31
  */
30
32
  export declare class SecurityProject extends pulumi.CustomResource {
31
33
  /**
@@ -64,18 +66,30 @@ export declare class SecurityProject extends pulumi.CustomResource {
64
66
  */
65
67
  readonly endpoints: pulumi.Output<outputs.SecurityProjectEndpoints>;
66
68
  /**
67
- * Additional details about the project.
69
+ * Metadata request for a project with tags.
68
70
  */
69
71
  readonly metadata: pulumi.Output<outputs.SecurityProjectMetadata>;
70
72
  /**
71
73
  * Descriptive name for a project.
72
74
  */
73
75
  readonly name: pulumi.Output<string>;
76
+ /**
77
+ * Private endpoints (URLs) for Security projects when PrivateLink is enabled.
78
+ */
79
+ readonly privateEndpoints: pulumi.Output<outputs.SecurityProjectPrivateEndpoints>;
74
80
  readonly productTypes: pulumi.Output<outputs.SecurityProjectProductType[]>;
75
81
  /**
76
82
  * Unique human-readable identifier for a region in Elastic Cloud.
77
83
  */
78
84
  readonly regionId: pulumi.Output<string>;
85
+ /**
86
+ * Configuration for the entire set of capabilities that make the data searchable in Security.
87
+ */
88
+ readonly searchLake: pulumi.Output<outputs.SecurityProjectSearchLake>;
89
+ /**
90
+ * Set of traffic filter IDs to associate with this project
91
+ */
92
+ readonly trafficFilterIds: pulumi.Output<string[] | undefined>;
79
93
  /**
80
94
  * the type of the project
81
95
  */
@@ -114,18 +128,30 @@ export interface SecurityProjectState {
114
128
  */
115
129
  endpoints?: pulumi.Input<inputs.SecurityProjectEndpoints>;
116
130
  /**
117
- * Additional details about the project.
131
+ * Metadata request for a project with tags.
118
132
  */
119
133
  metadata?: pulumi.Input<inputs.SecurityProjectMetadata>;
120
134
  /**
121
135
  * Descriptive name for a project.
122
136
  */
123
137
  name?: pulumi.Input<string>;
138
+ /**
139
+ * Private endpoints (URLs) for Security projects when PrivateLink is enabled.
140
+ */
141
+ privateEndpoints?: pulumi.Input<inputs.SecurityProjectPrivateEndpoints>;
124
142
  productTypes?: pulumi.Input<pulumi.Input<inputs.SecurityProjectProductType>[]>;
125
143
  /**
126
144
  * Unique human-readable identifier for a region in Elastic Cloud.
127
145
  */
128
146
  regionId?: pulumi.Input<string>;
147
+ /**
148
+ * Configuration for the entire set of capabilities that make the data searchable in Security.
149
+ */
150
+ searchLake?: pulumi.Input<inputs.SecurityProjectSearchLake>;
151
+ /**
152
+ * Set of traffic filter IDs to associate with this project
153
+ */
154
+ trafficFilterIds?: pulumi.Input<pulumi.Input<string>[]>;
129
155
  /**
130
156
  * the type of the project
131
157
  */
@@ -143,6 +169,10 @@ export interface SecurityProjectArgs {
143
169
  * A custom domain label compatible with RFC-1035 standards. Derived from the project name by default.
144
170
  */
145
171
  alias?: pulumi.Input<string>;
172
+ /**
173
+ * Metadata request for a project with tags.
174
+ */
175
+ metadata?: pulumi.Input<inputs.SecurityProjectMetadata>;
146
176
  /**
147
177
  * Descriptive name for a project.
148
178
  */
@@ -152,4 +182,12 @@ export interface SecurityProjectArgs {
152
182
  * Unique human-readable identifier for a region in Elastic Cloud.
153
183
  */
154
184
  regionId: pulumi.Input<string>;
185
+ /**
186
+ * Configuration for the entire set of capabilities that make the data searchable in Security.
187
+ */
188
+ searchLake?: pulumi.Input<inputs.SecurityProjectSearchLake>;
189
+ /**
190
+ * Set of traffic filter IDs to associate with this project
191
+ */
192
+ trafficFilterIds?: pulumi.Input<pulumi.Input<string>[]>;
155
193
  }
@@ -30,6 +30,8 @@ const utilities = require("./utilities");
30
30
  * ```sh
31
31
  * $ pulumi import ec:index/securityProject:SecurityProject id 320b7b540dfc967a7a649c18e2fce4ed
32
32
  * ```
33
+ *
34
+ * > **Note on Credentials** The `credentials` attribute (containing `username` and `password`) is only available when the project is first created. When importing an existing project, these credentials will not be available in the Terraform state as the API does not return them on read operations.
33
35
  */
34
36
  class SecurityProject extends pulumi.CustomResource {
35
37
  /**
@@ -66,8 +68,11 @@ class SecurityProject extends pulumi.CustomResource {
66
68
  resourceInputs["endpoints"] = state?.endpoints;
67
69
  resourceInputs["metadata"] = state?.metadata;
68
70
  resourceInputs["name"] = state?.name;
71
+ resourceInputs["privateEndpoints"] = state?.privateEndpoints;
69
72
  resourceInputs["productTypes"] = state?.productTypes;
70
73
  resourceInputs["regionId"] = state?.regionId;
74
+ resourceInputs["searchLake"] = state?.searchLake;
75
+ resourceInputs["trafficFilterIds"] = state?.trafficFilterIds;
71
76
  resourceInputs["type"] = state?.type;
72
77
  }
73
78
  else {
@@ -77,13 +82,16 @@ class SecurityProject extends pulumi.CustomResource {
77
82
  }
78
83
  resourceInputs["adminFeaturesPackage"] = args?.adminFeaturesPackage;
79
84
  resourceInputs["alias"] = args?.alias;
85
+ resourceInputs["metadata"] = args?.metadata;
80
86
  resourceInputs["name"] = args?.name;
81
87
  resourceInputs["productTypes"] = args?.productTypes;
82
88
  resourceInputs["regionId"] = args?.regionId;
89
+ resourceInputs["searchLake"] = args?.searchLake;
90
+ resourceInputs["trafficFilterIds"] = args?.trafficFilterIds;
83
91
  resourceInputs["cloudId"] = undefined /*out*/;
84
92
  resourceInputs["credentials"] = undefined /*out*/;
85
93
  resourceInputs["endpoints"] = undefined /*out*/;
86
- resourceInputs["metadata"] = undefined /*out*/;
94
+ resourceInputs["privateEndpoints"] = undefined /*out*/;
87
95
  resourceInputs["type"] = undefined /*out*/;
88
96
  }
89
97
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
@@ -1 +1 @@
1
- {"version":3,"file":"securityProject.js","sourceRoot":"","sources":["../securityProject.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;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;IAgDD,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,sBAAsB,CAAC,GAAG,KAAK,EAAE,oBAAoB,CAAC;YACrE,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;YACrD,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;SACxC;aAAM;YACH,MAAM,IAAI,GAAG,WAA8C,CAAC;YAC5D,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;YACD,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC;YACpE,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;YACpD,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC9C,cAAc,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAClD,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAC/C,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;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;;AA3GL,0CA4GC;AA9FG,gBAAgB;AACO,4BAAY,GAAG,0CAA0C,CAAC"}
1
+ {"version":3,"file":"securityProject.js","sourceRoot":"","sources":["../securityProject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "./types/input";
3
+ import * as outputs from "./types/output";
4
+ /**
5
+ * ## Example Usage
6
+ *
7
+ * ```typescript
8
+ * import * as pulumi from "@pulumi/pulumi";
9
+ * import * as ec from "@pulumi/ec";
10
+ *
11
+ * const example = new ec.ServerlessTrafficFilter("example", {
12
+ * name: "my-serverless-traffic-filter",
13
+ * region: "aws-us-east-1",
14
+ * type: "ip",
15
+ * description: "Allow traffic from the office network",
16
+ * includeByDefault: false,
17
+ * rules: [{
18
+ * source: "203.0.113.0/24",
19
+ * description: "Office egress",
20
+ * }],
21
+ * });
22
+ * ```
23
+ *
24
+ * ## Import
25
+ *
26
+ * Serverless traffic filters can be imported using the `id`, for example:
27
+ *
28
+ * ```sh
29
+ * $ pulumi import ec:index/serverlessTrafficFilter:ServerlessTrafficFilter id 320b7b540dfc967a7a649c18e2fce4ed
30
+ * ```
31
+ *
32
+ * > **Note on Credentials** The `credentials` attribute (containing `username` and `password`) is only available when the project is first created. When importing an existing project, these credentials will not be available in the Terraform state as the API does not return them on read operations.
33
+ */
34
+ export declare class ServerlessTrafficFilter extends pulumi.CustomResource {
35
+ /**
36
+ * Get an existing ServerlessTrafficFilter resource's state with the given name, ID, and optional extra
37
+ * properties used to qualify the lookup.
38
+ *
39
+ * @param name The _unique_ name of the resulting resource.
40
+ * @param id The _unique_ provider ID of the resource to lookup.
41
+ * @param state Any extra arguments used during the lookup.
42
+ * @param opts Optional settings to control the behavior of the CustomResource.
43
+ */
44
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ServerlessTrafficFilterState, opts?: pulumi.CustomResourceOptions): ServerlessTrafficFilter;
45
+ /**
46
+ * Returns true if the given object is an instance of ServerlessTrafficFilter. This is designed to work even
47
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
48
+ */
49
+ static isInstance(obj: any): obj is ServerlessTrafficFilter;
50
+ /**
51
+ * Description of the traffic filter
52
+ */
53
+ readonly description: pulumi.Output<string>;
54
+ /**
55
+ * Should the traffic filter be automatically included in the new projects
56
+ */
57
+ readonly includeByDefault: pulumi.Output<boolean>;
58
+ /**
59
+ * Name of the traffic filter
60
+ */
61
+ readonly name: pulumi.Output<string>;
62
+ /**
63
+ * The traffic filter can be attached only to projects in the specific region
64
+ */
65
+ readonly region: pulumi.Output<string>;
66
+ /**
67
+ * List of rules
68
+ */
69
+ readonly rules: pulumi.Output<outputs.ServerlessTrafficFilterRule[]>;
70
+ /**
71
+ * Type of the traffic filter
72
+ */
73
+ readonly type: pulumi.Output<string>;
74
+ /**
75
+ * Create a ServerlessTrafficFilter resource with the given unique name, arguments, and options.
76
+ *
77
+ * @param name The _unique_ name of the resource.
78
+ * @param args The arguments to use to populate this resource's properties.
79
+ * @param opts A bag of options that control this resource's behavior.
80
+ */
81
+ constructor(name: string, args: ServerlessTrafficFilterArgs, opts?: pulumi.CustomResourceOptions);
82
+ }
83
+ /**
84
+ * Input properties used for looking up and filtering ServerlessTrafficFilter resources.
85
+ */
86
+ export interface ServerlessTrafficFilterState {
87
+ /**
88
+ * Description of the traffic filter
89
+ */
90
+ description?: pulumi.Input<string>;
91
+ /**
92
+ * Should the traffic filter be automatically included in the new projects
93
+ */
94
+ includeByDefault?: pulumi.Input<boolean>;
95
+ /**
96
+ * Name of the traffic filter
97
+ */
98
+ name?: pulumi.Input<string>;
99
+ /**
100
+ * The traffic filter can be attached only to projects in the specific region
101
+ */
102
+ region?: pulumi.Input<string>;
103
+ /**
104
+ * List of rules
105
+ */
106
+ rules?: pulumi.Input<pulumi.Input<inputs.ServerlessTrafficFilterRule>[]>;
107
+ /**
108
+ * Type of the traffic filter
109
+ */
110
+ type?: pulumi.Input<string>;
111
+ }
112
+ /**
113
+ * The set of arguments for constructing a ServerlessTrafficFilter resource.
114
+ */
115
+ export interface ServerlessTrafficFilterArgs {
116
+ /**
117
+ * Description of the traffic filter
118
+ */
119
+ description?: pulumi.Input<string>;
120
+ /**
121
+ * Should the traffic filter be automatically included in the new projects
122
+ */
123
+ includeByDefault?: pulumi.Input<boolean>;
124
+ /**
125
+ * Name of the traffic filter
126
+ */
127
+ name?: pulumi.Input<string>;
128
+ /**
129
+ * The traffic filter can be attached only to projects in the specific region
130
+ */
131
+ region: pulumi.Input<string>;
132
+ /**
133
+ * List of rules
134
+ */
135
+ rules?: pulumi.Input<pulumi.Input<inputs.ServerlessTrafficFilterRule>[]>;
136
+ /**
137
+ * Type of the traffic filter
138
+ */
139
+ type: pulumi.Input<string>;
140
+ }
@@ -0,0 +1,95 @@
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.ServerlessTrafficFilter = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("./utilities");
8
+ /**
9
+ * ## Example Usage
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as ec from "@pulumi/ec";
14
+ *
15
+ * const example = new ec.ServerlessTrafficFilter("example", {
16
+ * name: "my-serverless-traffic-filter",
17
+ * region: "aws-us-east-1",
18
+ * type: "ip",
19
+ * description: "Allow traffic from the office network",
20
+ * includeByDefault: false,
21
+ * rules: [{
22
+ * source: "203.0.113.0/24",
23
+ * description: "Office egress",
24
+ * }],
25
+ * });
26
+ * ```
27
+ *
28
+ * ## Import
29
+ *
30
+ * Serverless traffic filters can be imported using the `id`, for example:
31
+ *
32
+ * ```sh
33
+ * $ pulumi import ec:index/serverlessTrafficFilter:ServerlessTrafficFilter id 320b7b540dfc967a7a649c18e2fce4ed
34
+ * ```
35
+ *
36
+ * > **Note on Credentials** The `credentials` attribute (containing `username` and `password`) is only available when the project is first created. When importing an existing project, these credentials will not be available in the Terraform state as the API does not return them on read operations.
37
+ */
38
+ class ServerlessTrafficFilter extends pulumi.CustomResource {
39
+ /**
40
+ * Get an existing ServerlessTrafficFilter resource's state with the given name, ID, and optional extra
41
+ * properties used to qualify the lookup.
42
+ *
43
+ * @param name The _unique_ name of the resulting resource.
44
+ * @param id The _unique_ provider ID of the resource to lookup.
45
+ * @param state Any extra arguments used during the lookup.
46
+ * @param opts Optional settings to control the behavior of the CustomResource.
47
+ */
48
+ static get(name, id, state, opts) {
49
+ return new ServerlessTrafficFilter(name, state, { ...opts, id: id });
50
+ }
51
+ /**
52
+ * Returns true if the given object is an instance of ServerlessTrafficFilter. This is designed to work even
53
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
54
+ */
55
+ static isInstance(obj) {
56
+ if (obj === undefined || obj === null) {
57
+ return false;
58
+ }
59
+ return obj['__pulumiType'] === ServerlessTrafficFilter.__pulumiType;
60
+ }
61
+ constructor(name, argsOrState, opts) {
62
+ let resourceInputs = {};
63
+ opts = opts || {};
64
+ if (opts.id) {
65
+ const state = argsOrState;
66
+ resourceInputs["description"] = state?.description;
67
+ resourceInputs["includeByDefault"] = state?.includeByDefault;
68
+ resourceInputs["name"] = state?.name;
69
+ resourceInputs["region"] = state?.region;
70
+ resourceInputs["rules"] = state?.rules;
71
+ resourceInputs["type"] = state?.type;
72
+ }
73
+ else {
74
+ const args = argsOrState;
75
+ if (args?.region === undefined && !opts.urn) {
76
+ throw new Error("Missing required property 'region'");
77
+ }
78
+ if (args?.type === undefined && !opts.urn) {
79
+ throw new Error("Missing required property 'type'");
80
+ }
81
+ resourceInputs["description"] = args?.description;
82
+ resourceInputs["includeByDefault"] = args?.includeByDefault;
83
+ resourceInputs["name"] = args?.name;
84
+ resourceInputs["region"] = args?.region;
85
+ resourceInputs["rules"] = args?.rules;
86
+ resourceInputs["type"] = args?.type;
87
+ }
88
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
89
+ super(ServerlessTrafficFilter.__pulumiType, name, resourceInputs, opts);
90
+ }
91
+ }
92
+ exports.ServerlessTrafficFilter = ServerlessTrafficFilter;
93
+ /** @internal */
94
+ ServerlessTrafficFilter.__pulumiType = 'ec:index/serverlessTrafficFilter:ServerlessTrafficFilter';
95
+ //# sourceMappingURL=serverlessTrafficFilter.js.map