@pulumiverse/scaleway 1.41.0 → 1.41.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.
Files changed (63) hide show
  1. package/edgeServicesBackendStage.d.ts +9 -6
  2. package/edgeServicesBackendStage.js +11 -6
  3. package/edgeServicesBackendStage.js.map +1 -1
  4. package/edgeServicesCacheStage.d.ts +5 -2
  5. package/edgeServicesCacheStage.js +7 -2
  6. package/edgeServicesCacheStage.js.map +1 -1
  7. package/edgeServicesDnsStage.d.ts +4 -1
  8. package/edgeServicesDnsStage.js +6 -1
  9. package/edgeServicesDnsStage.js.map +1 -1
  10. package/edgeServicesHeadStage.d.ts +7 -4
  11. package/edgeServicesHeadStage.js +9 -4
  12. package/edgeServicesHeadStage.js.map +1 -1
  13. package/edgeServicesPipeline.d.ts +19 -16
  14. package/edgeServicesPipeline.js +21 -16
  15. package/edgeServicesPipeline.js.map +1 -1
  16. package/edgeServicesPlan.d.ts +4 -1
  17. package/edgeServicesPlan.js +6 -1
  18. package/edgeServicesPlan.js.map +1 -1
  19. package/edgeServicesRouteStage.d.ts +4 -1
  20. package/edgeServicesRouteStage.js +6 -1
  21. package/edgeServicesRouteStage.js.map +1 -1
  22. package/edgeServicesTlsStage.d.ts +5 -2
  23. package/edgeServicesTlsStage.js +7 -2
  24. package/edgeServicesTlsStage.js.map +1 -1
  25. package/edgeServicesWafStage.d.ts +4 -1
  26. package/edgeServicesWafStage.js +6 -1
  27. package/edgeServicesWafStage.js.map +1 -1
  28. package/edgeservices/backendStage.d.ts +171 -0
  29. package/edgeservices/backendStage.js +133 -0
  30. package/edgeservices/backendStage.js.map +1 -0
  31. package/edgeservices/cacheStage.d.ts +205 -0
  32. package/edgeservices/cacheStage.js +117 -0
  33. package/edgeservices/cacheStage.js.map +1 -0
  34. package/edgeservices/dnsStage.d.ts +167 -0
  35. package/edgeservices/dnsStage.js +99 -0
  36. package/edgeservices/dnsStage.js.map +1 -0
  37. package/edgeservices/headStage.d.ts +96 -0
  38. package/edgeservices/headStage.js +92 -0
  39. package/edgeservices/headStage.js.map +1 -0
  40. package/edgeservices/index.d.ts +27 -0
  41. package/edgeservices/index.js +62 -0
  42. package/edgeservices/index.js.map +1 -0
  43. package/edgeservices/pipeline.d.ts +183 -0
  44. package/edgeservices/pipeline.js +148 -0
  45. package/edgeservices/pipeline.js.map +1 -0
  46. package/edgeservices/plan.d.ts +84 -0
  47. package/edgeservices/plan.js +77 -0
  48. package/edgeservices/plan.js.map +1 -0
  49. package/edgeservices/routeStage.d.ts +142 -0
  50. package/edgeservices/routeStage.js +104 -0
  51. package/edgeservices/routeStage.js.map +1 -0
  52. package/edgeservices/tlsStage.d.ts +200 -0
  53. package/edgeservices/tlsStage.js +116 -0
  54. package/edgeservices/tlsStage.js.map +1 -0
  55. package/edgeservices/wafStage.d.ts +140 -0
  56. package/edgeservices/wafStage.js +97 -0
  57. package/edgeservices/wafStage.js.map +1 -0
  58. package/index.d.ts +2 -1
  59. package/index.js +3 -1
  60. package/index.js.map +1 -1
  61. package/package.json +2 -2
  62. package/types/input.d.ts +98 -0
  63. package/types/output.d.ts +98 -0
@@ -0,0 +1,84 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Creates and manages Scaleway Edge Services plans.
4
+ *
5
+ * ## Example Usage
6
+ *
7
+ * ### Basic
8
+ *
9
+ * ```typescript
10
+ * import * as pulumi from "@pulumi/pulumi";
11
+ * import * as scaleway from "@pulumiverse/scaleway";
12
+ *
13
+ * const main = new scaleway.edgeservices.Plan("main", {name: "starter"});
14
+ * ```
15
+ *
16
+ * ## Import
17
+ *
18
+ * Plans can be imported using `{project_id}/{plan_name}`, e.g.
19
+ *
20
+ * bash
21
+ *
22
+ * ```sh
23
+ * $ pulumi import scaleway:edgeservices/plan:Plan main 11111111-1111-1111-1111-111111111111/starter
24
+ * ```
25
+ */
26
+ export declare class Plan extends pulumi.CustomResource {
27
+ /**
28
+ * Get an existing Plan resource's state with the given name, ID, and optional extra
29
+ * properties used to qualify the lookup.
30
+ *
31
+ * @param name The _unique_ name of the resulting resource.
32
+ * @param id The _unique_ provider ID of the resource to lookup.
33
+ * @param state Any extra arguments used during the lookup.
34
+ * @param opts Optional settings to control the behavior of the CustomResource.
35
+ */
36
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PlanState, opts?: pulumi.CustomResourceOptions): Plan;
37
+ /**
38
+ * Returns true if the given object is an instance of Plan. This is designed to work even
39
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
40
+ */
41
+ static isInstance(obj: any): obj is Plan;
42
+ /**
43
+ * The name of the plan.
44
+ */
45
+ readonly name: pulumi.Output<string>;
46
+ /**
47
+ * `projectId`) The ID of the project the plan is associated with.
48
+ */
49
+ readonly projectId: pulumi.Output<string>;
50
+ /**
51
+ * Create a Plan resource with the given unique name, arguments, and options.
52
+ *
53
+ * @param name The _unique_ name of the resource.
54
+ * @param args The arguments to use to populate this resource's properties.
55
+ * @param opts A bag of options that control this resource's behavior.
56
+ */
57
+ constructor(name: string, args?: PlanArgs, opts?: pulumi.CustomResourceOptions);
58
+ }
59
+ /**
60
+ * Input properties used for looking up and filtering Plan resources.
61
+ */
62
+ export interface PlanState {
63
+ /**
64
+ * The name of the plan.
65
+ */
66
+ name?: pulumi.Input<string>;
67
+ /**
68
+ * `projectId`) The ID of the project the plan is associated with.
69
+ */
70
+ projectId?: pulumi.Input<string>;
71
+ }
72
+ /**
73
+ * The set of arguments for constructing a Plan resource.
74
+ */
75
+ export interface PlanArgs {
76
+ /**
77
+ * The name of the plan.
78
+ */
79
+ name?: pulumi.Input<string>;
80
+ /**
81
+ * `projectId`) The ID of the project the plan is associated with.
82
+ */
83
+ projectId?: pulumi.Input<string>;
84
+ }
@@ -0,0 +1,77 @@
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.Plan = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Creates and manages Scaleway Edge Services plans.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ### Basic
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as scaleway from "@pulumiverse/scaleway";
18
+ *
19
+ * const main = new scaleway.edgeservices.Plan("main", {name: "starter"});
20
+ * ```
21
+ *
22
+ * ## Import
23
+ *
24
+ * Plans can be imported using `{project_id}/{plan_name}`, e.g.
25
+ *
26
+ * bash
27
+ *
28
+ * ```sh
29
+ * $ pulumi import scaleway:edgeservices/plan:Plan main 11111111-1111-1111-1111-111111111111/starter
30
+ * ```
31
+ */
32
+ class Plan extends pulumi.CustomResource {
33
+ /**
34
+ * Get an existing Plan resource's state with the given name, ID, and optional extra
35
+ * properties used to qualify the lookup.
36
+ *
37
+ * @param name The _unique_ name of the resulting resource.
38
+ * @param id The _unique_ provider ID of the resource to lookup.
39
+ * @param state Any extra arguments used during the lookup.
40
+ * @param opts Optional settings to control the behavior of the CustomResource.
41
+ */
42
+ static get(name, id, state, opts) {
43
+ return new Plan(name, state, { ...opts, id: id });
44
+ }
45
+ /**
46
+ * Returns true if the given object is an instance of Plan. 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) {
50
+ if (obj === undefined || obj === null) {
51
+ return false;
52
+ }
53
+ return obj['__pulumiType'] === Plan.__pulumiType;
54
+ }
55
+ constructor(name, argsOrState, opts) {
56
+ let resourceInputs = {};
57
+ opts = opts || {};
58
+ if (opts.id) {
59
+ const state = argsOrState;
60
+ resourceInputs["name"] = state?.name;
61
+ resourceInputs["projectId"] = state?.projectId;
62
+ }
63
+ else {
64
+ const args = argsOrState;
65
+ resourceInputs["name"] = args?.name;
66
+ resourceInputs["projectId"] = args?.projectId;
67
+ }
68
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
69
+ const aliasOpts = { aliases: [{ type: "scaleway:index/edgeServicesPlan:EdgeServicesPlan" }] };
70
+ opts = pulumi.mergeOptions(opts, aliasOpts);
71
+ super(Plan.__pulumiType, name, resourceInputs, opts);
72
+ }
73
+ }
74
+ exports.Plan = Plan;
75
+ /** @internal */
76
+ Plan.__pulumiType = 'scaleway:edgeservices/plan:Plan';
77
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../edgeservices/plan.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,IAAK,SAAQ,MAAM,CAAC,cAAc;IAC3C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiB,EAAE,IAAmC;QAC/G,OAAO,IAAI,IAAI,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,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,IAAI,CAAC,YAAY,CAAC;IACrD,CAAC;IAmBD,YAAY,IAAY,EAAE,WAAkC,EAAE,IAAmC;QAC7F,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAoC,CAAC;YACnD,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;SAClD;aAAM;YACH,MAAM,IAAI,GAAG,WAAmC,CAAC;YACjD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;SACjD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,kDAAkD,EAAE,CAAC,EAAE,CAAC;QAC9F,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;;AA7DL,oBA8DC;AAhDG,gBAAgB;AACO,iBAAY,GAAG,iCAAiC,CAAC"}
@@ -0,0 +1,142 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * Creates and manages Scaleway Edge Services Route Stages.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ### Basic
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as scaleway from "@pulumiverse/scaleway";
14
+ *
15
+ * const main = new scaleway.edgeservices.RouteStage("main", {
16
+ * pipelineId: mainScalewayEdgeServicesPipeline.id,
17
+ * wafStageId: waf.id,
18
+ * rules: [{
19
+ * backendStageId: backend.id,
20
+ * ruleHttpMatch: {
21
+ * methodFilters: [
22
+ * "get",
23
+ * "post",
24
+ * ],
25
+ * pathFilter: {
26
+ * pathFilterType: "regex",
27
+ * value: ".*",
28
+ * },
29
+ * },
30
+ * }],
31
+ * });
32
+ * ```
33
+ *
34
+ * ## Import
35
+ *
36
+ * Route stages can be imported using the `{id}`, e.g.
37
+ *
38
+ * bash
39
+ *
40
+ * ```sh
41
+ * $ pulumi import scaleway:edgeservices/routeStage:RouteStage basic 11111111-1111-1111-1111-111111111111
42
+ * ```
43
+ */
44
+ export declare class RouteStage extends pulumi.CustomResource {
45
+ /**
46
+ * Get an existing RouteStage resource's state with the given name, ID, and optional extra
47
+ * properties used to qualify the lookup.
48
+ *
49
+ * @param name The _unique_ name of the resulting resource.
50
+ * @param id The _unique_ provider ID of the resource to lookup.
51
+ * @param state Any extra arguments used during the lookup.
52
+ * @param opts Optional settings to control the behavior of the CustomResource.
53
+ */
54
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RouteStageState, opts?: pulumi.CustomResourceOptions): RouteStage;
55
+ /**
56
+ * Returns true if the given object is an instance of RouteStage. This is designed to work even
57
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
58
+ */
59
+ static isInstance(obj: any): obj is RouteStage;
60
+ /**
61
+ * The date and time of the creation of the route stage.
62
+ */
63
+ readonly createdAt: pulumi.Output<string>;
64
+ /**
65
+ * The ID of the pipeline.
66
+ */
67
+ readonly pipelineId: pulumi.Output<string>;
68
+ /**
69
+ * `projectId`) The ID of the project the route stage is associated with.
70
+ */
71
+ readonly projectId: pulumi.Output<string>;
72
+ /**
73
+ * The list of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by `wafStageId`.
74
+ */
75
+ readonly rules: pulumi.Output<outputs.edgeservices.RouteStageRule[] | undefined>;
76
+ /**
77
+ * The date and time of the last update of the route stage.
78
+ */
79
+ readonly updatedAt: pulumi.Output<string>;
80
+ /**
81
+ * The ID of the WAF stage HTTP requests should be forwarded to when no rules are matched.
82
+ */
83
+ readonly wafStageId: pulumi.Output<string | undefined>;
84
+ /**
85
+ * Create a RouteStage resource with the given unique name, arguments, and options.
86
+ *
87
+ * @param name The _unique_ name of the resource.
88
+ * @param args The arguments to use to populate this resource's properties.
89
+ * @param opts A bag of options that control this resource's behavior.
90
+ */
91
+ constructor(name: string, args: RouteStageArgs, opts?: pulumi.CustomResourceOptions);
92
+ }
93
+ /**
94
+ * Input properties used for looking up and filtering RouteStage resources.
95
+ */
96
+ export interface RouteStageState {
97
+ /**
98
+ * The date and time of the creation of the route stage.
99
+ */
100
+ createdAt?: pulumi.Input<string>;
101
+ /**
102
+ * The ID of the pipeline.
103
+ */
104
+ pipelineId?: pulumi.Input<string>;
105
+ /**
106
+ * `projectId`) The ID of the project the route stage is associated with.
107
+ */
108
+ projectId?: pulumi.Input<string>;
109
+ /**
110
+ * The list of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by `wafStageId`.
111
+ */
112
+ rules?: pulumi.Input<pulumi.Input<inputs.edgeservices.RouteStageRule>[]>;
113
+ /**
114
+ * The date and time of the last update of the route stage.
115
+ */
116
+ updatedAt?: pulumi.Input<string>;
117
+ /**
118
+ * The ID of the WAF stage HTTP requests should be forwarded to when no rules are matched.
119
+ */
120
+ wafStageId?: pulumi.Input<string>;
121
+ }
122
+ /**
123
+ * The set of arguments for constructing a RouteStage resource.
124
+ */
125
+ export interface RouteStageArgs {
126
+ /**
127
+ * The ID of the pipeline.
128
+ */
129
+ pipelineId: pulumi.Input<string>;
130
+ /**
131
+ * `projectId`) The ID of the project the route stage is associated with.
132
+ */
133
+ projectId?: pulumi.Input<string>;
134
+ /**
135
+ * The list of rules to be checked against every HTTP request. The first matching rule will forward the request to its specified backend stage. If no rules are matched, the request is forwarded to the WAF stage defined by `wafStageId`.
136
+ */
137
+ rules?: pulumi.Input<pulumi.Input<inputs.edgeservices.RouteStageRule>[]>;
138
+ /**
139
+ * The ID of the WAF stage HTTP requests should be forwarded to when no rules are matched.
140
+ */
141
+ wafStageId?: pulumi.Input<string>;
142
+ }
@@ -0,0 +1,104 @@
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.RouteStage = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Creates and manages Scaleway Edge Services Route Stages.
10
+ *
11
+ * ## Example Usage
12
+ *
13
+ * ### Basic
14
+ *
15
+ * ```typescript
16
+ * import * as pulumi from "@pulumi/pulumi";
17
+ * import * as scaleway from "@pulumiverse/scaleway";
18
+ *
19
+ * const main = new scaleway.edgeservices.RouteStage("main", {
20
+ * pipelineId: mainScalewayEdgeServicesPipeline.id,
21
+ * wafStageId: waf.id,
22
+ * rules: [{
23
+ * backendStageId: backend.id,
24
+ * ruleHttpMatch: {
25
+ * methodFilters: [
26
+ * "get",
27
+ * "post",
28
+ * ],
29
+ * pathFilter: {
30
+ * pathFilterType: "regex",
31
+ * value: ".*",
32
+ * },
33
+ * },
34
+ * }],
35
+ * });
36
+ * ```
37
+ *
38
+ * ## Import
39
+ *
40
+ * Route stages can be imported using the `{id}`, e.g.
41
+ *
42
+ * bash
43
+ *
44
+ * ```sh
45
+ * $ pulumi import scaleway:edgeservices/routeStage:RouteStage basic 11111111-1111-1111-1111-111111111111
46
+ * ```
47
+ */
48
+ class RouteStage extends pulumi.CustomResource {
49
+ /**
50
+ * Get an existing RouteStage resource's state with the given name, ID, and optional extra
51
+ * properties used to qualify the lookup.
52
+ *
53
+ * @param name The _unique_ name of the resulting resource.
54
+ * @param id The _unique_ provider ID of the resource to lookup.
55
+ * @param state Any extra arguments used during the lookup.
56
+ * @param opts Optional settings to control the behavior of the CustomResource.
57
+ */
58
+ static get(name, id, state, opts) {
59
+ return new RouteStage(name, state, { ...opts, id: id });
60
+ }
61
+ /**
62
+ * Returns true if the given object is an instance of RouteStage. This is designed to work even
63
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
64
+ */
65
+ static isInstance(obj) {
66
+ if (obj === undefined || obj === null) {
67
+ return false;
68
+ }
69
+ return obj['__pulumiType'] === RouteStage.__pulumiType;
70
+ }
71
+ constructor(name, argsOrState, opts) {
72
+ let resourceInputs = {};
73
+ opts = opts || {};
74
+ if (opts.id) {
75
+ const state = argsOrState;
76
+ resourceInputs["createdAt"] = state?.createdAt;
77
+ resourceInputs["pipelineId"] = state?.pipelineId;
78
+ resourceInputs["projectId"] = state?.projectId;
79
+ resourceInputs["rules"] = state?.rules;
80
+ resourceInputs["updatedAt"] = state?.updatedAt;
81
+ resourceInputs["wafStageId"] = state?.wafStageId;
82
+ }
83
+ else {
84
+ const args = argsOrState;
85
+ if (args?.pipelineId === undefined && !opts.urn) {
86
+ throw new Error("Missing required property 'pipelineId'");
87
+ }
88
+ resourceInputs["pipelineId"] = args?.pipelineId;
89
+ resourceInputs["projectId"] = args?.projectId;
90
+ resourceInputs["rules"] = args?.rules;
91
+ resourceInputs["wafStageId"] = args?.wafStageId;
92
+ resourceInputs["createdAt"] = undefined /*out*/;
93
+ resourceInputs["updatedAt"] = undefined /*out*/;
94
+ }
95
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
96
+ const aliasOpts = { aliases: [{ type: "scaleway:index/edgeServicesRouteStage:EdgeServicesRouteStage" }] };
97
+ opts = pulumi.mergeOptions(opts, aliasOpts);
98
+ super(RouteStage.__pulumiType, name, resourceInputs, opts);
99
+ }
100
+ }
101
+ exports.RouteStage = RouteStage;
102
+ /** @internal */
103
+ RouteStage.__pulumiType = 'scaleway:edgeservices/routeStage:RouteStage';
104
+ //# sourceMappingURL=routeStage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routeStage.js","sourceRoot":"","sources":["../../edgeservices/routeStage.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAa,UAAW,SAAQ,MAAM,CAAC,cAAc;IACjD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAuB,EAAE,IAAmC;QACrH,OAAO,IAAI,UAAU,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACjE,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,UAAU,CAAC,YAAY,CAAC;IAC3D,CAAC;IAmCD,YAAY,IAAY,EAAE,WAA8C,EAAE,IAAmC;QACzG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA0C,CAAC;YACzD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;YACvC,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;SACpD;aAAM;YACH,MAAM,IAAI,GAAG,WAAyC,CAAC;YACvD,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;YACtC,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;YAChD,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACnD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,8DAA8D,EAAE,CAAC,EAAE,CAAC;QAC1G,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,KAAK,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;;AAxFL,gCAyFC;AA3EG,gBAAgB;AACO,uBAAY,GAAG,6CAA6C,CAAC"}
@@ -0,0 +1,200 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * Creates and manages Scaleway Edge Services TLS Stages.
6
+ *
7
+ * ## Example Usage
8
+ *
9
+ * ### Managed
10
+ *
11
+ * ```typescript
12
+ * import * as pulumi from "@pulumi/pulumi";
13
+ * import * as scaleway from "@pulumiverse/scaleway";
14
+ *
15
+ * const main = new scaleway.edgeservices.TlsStage("main", {
16
+ * pipelineId: mainScalewayEdgeServicesPipeline.id,
17
+ * managedCertificate: true,
18
+ * });
19
+ * ```
20
+ *
21
+ * ### With a certificate stored in Scaleway Secret Manager
22
+ *
23
+ * ```typescript
24
+ * import * as pulumi from "@pulumi/pulumi";
25
+ * import * as scaleway from "@pulumiverse/scaleway";
26
+ *
27
+ * const main = new scaleway.edgeservices.TlsStage("main", {
28
+ * pipelineId: mainScalewayEdgeServicesPipeline.id,
29
+ * secrets: [{
30
+ * secretId: "11111111-1111-1111-1111-111111111111",
31
+ * region: "fr-par",
32
+ * }],
33
+ * });
34
+ * ```
35
+ *
36
+ * ## Import
37
+ *
38
+ * TLS stages can be imported using the `{id}`, e.g.
39
+ *
40
+ * bash
41
+ *
42
+ * ```sh
43
+ * $ pulumi import scaleway:edgeservices/tlsStage:TlsStage basic 11111111-1111-1111-1111-111111111111
44
+ * ```
45
+ */
46
+ export declare class TlsStage extends pulumi.CustomResource {
47
+ /**
48
+ * Get an existing TlsStage resource's state with the given name, ID, and optional extra
49
+ * properties used to qualify the lookup.
50
+ *
51
+ * @param name The _unique_ name of the resulting resource.
52
+ * @param id The _unique_ provider ID of the resource to lookup.
53
+ * @param state Any extra arguments used during the lookup.
54
+ * @param opts Optional settings to control the behavior of the CustomResource.
55
+ */
56
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TlsStageState, opts?: pulumi.CustomResourceOptions): TlsStage;
57
+ /**
58
+ * Returns true if the given object is an instance of TlsStage. This is designed to work even
59
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
60
+ */
61
+ static isInstance(obj: any): obj is TlsStage;
62
+ /**
63
+ * The backend stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
64
+ */
65
+ readonly backendStageId: pulumi.Output<string>;
66
+ /**
67
+ * The cache stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
68
+ */
69
+ readonly cacheStageId: pulumi.Output<string>;
70
+ /**
71
+ * The expiration date of the certificate.
72
+ */
73
+ readonly certificateExpiresAt: pulumi.Output<string>;
74
+ /**
75
+ * The date and time of the creation of the TLS stage.
76
+ */
77
+ readonly createdAt: pulumi.Output<string>;
78
+ /**
79
+ * Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
80
+ */
81
+ readonly managedCertificate: pulumi.Output<boolean>;
82
+ /**
83
+ * The ID of the pipeline.
84
+ */
85
+ readonly pipelineId: pulumi.Output<string>;
86
+ /**
87
+ * `projectId`) The ID of the project the TLS stage is associated with.
88
+ */
89
+ readonly projectId: pulumi.Output<string>;
90
+ /**
91
+ * The route stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
92
+ */
93
+ readonly routeStageId: pulumi.Output<string>;
94
+ /**
95
+ * The TLS secrets.
96
+ */
97
+ readonly secrets: pulumi.Output<outputs.edgeservices.TlsStageSecret[]>;
98
+ /**
99
+ * The date and time of the last update of the TLS stage.
100
+ */
101
+ readonly updatedAt: pulumi.Output<string>;
102
+ /**
103
+ * The WAF stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
104
+ */
105
+ readonly wafStageId: pulumi.Output<string>;
106
+ /**
107
+ * Create a TlsStage resource with the given unique name, arguments, and options.
108
+ *
109
+ * @param name The _unique_ name of the resource.
110
+ * @param args The arguments to use to populate this resource's properties.
111
+ * @param opts A bag of options that control this resource's behavior.
112
+ */
113
+ constructor(name: string, args: TlsStageArgs, opts?: pulumi.CustomResourceOptions);
114
+ }
115
+ /**
116
+ * Input properties used for looking up and filtering TlsStage resources.
117
+ */
118
+ export interface TlsStageState {
119
+ /**
120
+ * The backend stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
121
+ */
122
+ backendStageId?: pulumi.Input<string>;
123
+ /**
124
+ * The cache stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
125
+ */
126
+ cacheStageId?: pulumi.Input<string>;
127
+ /**
128
+ * The expiration date of the certificate.
129
+ */
130
+ certificateExpiresAt?: pulumi.Input<string>;
131
+ /**
132
+ * The date and time of the creation of the TLS stage.
133
+ */
134
+ createdAt?: pulumi.Input<string>;
135
+ /**
136
+ * Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
137
+ */
138
+ managedCertificate?: pulumi.Input<boolean>;
139
+ /**
140
+ * The ID of the pipeline.
141
+ */
142
+ pipelineId?: pulumi.Input<string>;
143
+ /**
144
+ * `projectId`) The ID of the project the TLS stage is associated with.
145
+ */
146
+ projectId?: pulumi.Input<string>;
147
+ /**
148
+ * The route stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
149
+ */
150
+ routeStageId?: pulumi.Input<string>;
151
+ /**
152
+ * The TLS secrets.
153
+ */
154
+ secrets?: pulumi.Input<pulumi.Input<inputs.edgeservices.TlsStageSecret>[]>;
155
+ /**
156
+ * The date and time of the last update of the TLS stage.
157
+ */
158
+ updatedAt?: pulumi.Input<string>;
159
+ /**
160
+ * The WAF stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
161
+ */
162
+ wafStageId?: pulumi.Input<string>;
163
+ }
164
+ /**
165
+ * The set of arguments for constructing a TlsStage resource.
166
+ */
167
+ export interface TlsStageArgs {
168
+ /**
169
+ * The backend stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
170
+ */
171
+ backendStageId?: pulumi.Input<string>;
172
+ /**
173
+ * The cache stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
174
+ */
175
+ cacheStageId?: pulumi.Input<string>;
176
+ /**
177
+ * Set to true when Scaleway generates and manages a Let's Encrypt certificate for the TLS stage/custom endpoint.
178
+ */
179
+ managedCertificate?: pulumi.Input<boolean>;
180
+ /**
181
+ * The ID of the pipeline.
182
+ */
183
+ pipelineId: pulumi.Input<string>;
184
+ /**
185
+ * `projectId`) The ID of the project the TLS stage is associated with.
186
+ */
187
+ projectId?: pulumi.Input<string>;
188
+ /**
189
+ * The route stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
190
+ */
191
+ routeStageId?: pulumi.Input<string>;
192
+ /**
193
+ * The TLS secrets.
194
+ */
195
+ secrets?: pulumi.Input<pulumi.Input<inputs.edgeservices.TlsStageSecret>[]>;
196
+ /**
197
+ * The WAF stage ID the TLS stage will be linked to. Only one of `backendStageId`, `cacheStageId`, `routeStageId` and `wafStageId` should be specified.
198
+ */
199
+ wafStageId?: pulumi.Input<string>;
200
+ }