@pulumiverse/scaleway 1.40.0-alpha.1764842619 → 1.40.0-alpha.1766140471

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.
@@ -0,0 +1,209 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ /**
3
+ * Creates and manages Scaleway Site-to-Site VPN Customer Gateways.
4
+ * A customer gateway represents your external VPN endpoint (e.g., a firewall, router, or VPN appliance).
5
+ *
6
+ * For more information, see [the main documentation](https://www.scaleway.com/en/docs/site-to-site-vpn/reference-content/understanding-s2svpn/).
7
+ *
8
+ * ## Example Usage
9
+ *
10
+ * ### Basic
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as scaleway from "@pulumiverse/scaleway";
15
+ *
16
+ * const customerGw = new scaleway.s2svpn.CustomerGateway("customer_gw", {
17
+ * name: "my-customer-gateway",
18
+ * ipv4Public: "203.0.113.1",
19
+ * asn: 65000,
20
+ * });
21
+ * ```
22
+ *
23
+ * ### With IPv6
24
+ *
25
+ * ```typescript
26
+ * import * as pulumi from "@pulumi/pulumi";
27
+ * import * as scaleway from "@pulumiverse/scaleway";
28
+ *
29
+ * const customerGw = new scaleway.s2svpn.CustomerGateway("customer_gw", {
30
+ * name: "my-customer-gateway",
31
+ * ipv4Public: "203.0.113.1",
32
+ * ipv6Public: "2001:db8::1",
33
+ * asn: 65000,
34
+ * });
35
+ * ```
36
+ *
37
+ * ### Using Instance Public IP
38
+ *
39
+ * ```typescript
40
+ * import * as pulumi from "@pulumi/pulumi";
41
+ * import * as scaleway from "@pulumiverse/scaleway";
42
+ *
43
+ * const vpnEndpointIp = new scaleway.instance.Ip("vpn_endpoint_ip", {});
44
+ * const vpnEndpoint = new scaleway.instance.Server("vpn_endpoint", {
45
+ * name: "vpn-endpoint",
46
+ * type: "DEV1-S",
47
+ * image: "ubuntu_jammy",
48
+ * ipIds: [vpnEndpointIp.id],
49
+ * });
50
+ * const customerGw = new scaleway.s2svpn.CustomerGateway("customer_gw", {
51
+ * name: "my-customer-gateway",
52
+ * ipv4Public: vpnEndpointIp.address,
53
+ * asn: 65000,
54
+ * });
55
+ * ```
56
+ *
57
+ * ## Import
58
+ *
59
+ * Customer Gateways can be imported using `{region}/{id}`, e.g.
60
+ *
61
+ * bash
62
+ *
63
+ * ```sh
64
+ * $ pulumi import scaleway:s2svpn/customerGateway:CustomerGateway main fr-par/11111111-1111-1111-1111-111111111111
65
+ * ```
66
+ */
67
+ export declare class CustomerGateway extends pulumi.CustomResource {
68
+ /**
69
+ * Get an existing CustomerGateway resource's state with the given name, ID, and optional extra
70
+ * properties used to qualify the lookup.
71
+ *
72
+ * @param name The _unique_ name of the resulting resource.
73
+ * @param id The _unique_ provider ID of the resource to lookup.
74
+ * @param state Any extra arguments used during the lookup.
75
+ * @param opts Optional settings to control the behavior of the CustomResource.
76
+ */
77
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CustomerGatewayState, opts?: pulumi.CustomResourceOptions): CustomerGateway;
78
+ /**
79
+ * Returns true if the given object is an instance of CustomerGateway. This is designed to work even
80
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
81
+ */
82
+ static isInstance(obj: any): obj is CustomerGateway;
83
+ /**
84
+ * The AS Number of the customer gateway. Must be different from Scaleway's ASN (12876). For testing, you can use a private ASN (64512-65535).
85
+ */
86
+ readonly asn: pulumi.Output<number>;
87
+ /**
88
+ * The date and time of the creation of the customer gateway (RFC 3339 format).
89
+ */
90
+ readonly createdAt: pulumi.Output<string>;
91
+ /**
92
+ * The public IPv4 address of the customer gateway (your VPN endpoint).
93
+ */
94
+ readonly ipv4Public: pulumi.Output<string>;
95
+ /**
96
+ * The public IPv6 address of the customer gateway (your VPN endpoint).
97
+ */
98
+ readonly ipv6Public: pulumi.Output<string>;
99
+ /**
100
+ * The name of the customer gateway. If not provided, it will be randomly generated.
101
+ */
102
+ readonly name: pulumi.Output<string>;
103
+ /**
104
+ * The Organization ID the customer gateway is associated with.
105
+ */
106
+ readonly organizationId: pulumi.Output<string>;
107
+ /**
108
+ * `projectId`) The ID of the project the customer gateway is associated with.
109
+ */
110
+ readonly projectId: pulumi.Output<string>;
111
+ /**
112
+ * `region`) The region in which the customer gateway should be created.
113
+ */
114
+ readonly region: pulumi.Output<string | undefined>;
115
+ /**
116
+ * The list of tags to apply to the customer gateway.
117
+ */
118
+ readonly tags: pulumi.Output<string[] | undefined>;
119
+ /**
120
+ * The date and time of the last update of the customer gateway (RFC 3339 format).
121
+ */
122
+ readonly updatedAt: pulumi.Output<string>;
123
+ /**
124
+ * Create a CustomerGateway resource with the given unique name, arguments, and options.
125
+ *
126
+ * @param name The _unique_ name of the resource.
127
+ * @param args The arguments to use to populate this resource's properties.
128
+ * @param opts A bag of options that control this resource's behavior.
129
+ */
130
+ constructor(name: string, args: CustomerGatewayArgs, opts?: pulumi.CustomResourceOptions);
131
+ }
132
+ /**
133
+ * Input properties used for looking up and filtering CustomerGateway resources.
134
+ */
135
+ export interface CustomerGatewayState {
136
+ /**
137
+ * The AS Number of the customer gateway. Must be different from Scaleway's ASN (12876). For testing, you can use a private ASN (64512-65535).
138
+ */
139
+ asn?: pulumi.Input<number>;
140
+ /**
141
+ * The date and time of the creation of the customer gateway (RFC 3339 format).
142
+ */
143
+ createdAt?: pulumi.Input<string>;
144
+ /**
145
+ * The public IPv4 address of the customer gateway (your VPN endpoint).
146
+ */
147
+ ipv4Public?: pulumi.Input<string>;
148
+ /**
149
+ * The public IPv6 address of the customer gateway (your VPN endpoint).
150
+ */
151
+ ipv6Public?: pulumi.Input<string>;
152
+ /**
153
+ * The name of the customer gateway. If not provided, it will be randomly generated.
154
+ */
155
+ name?: pulumi.Input<string>;
156
+ /**
157
+ * The Organization ID the customer gateway is associated with.
158
+ */
159
+ organizationId?: pulumi.Input<string>;
160
+ /**
161
+ * `projectId`) The ID of the project the customer gateway is associated with.
162
+ */
163
+ projectId?: pulumi.Input<string>;
164
+ /**
165
+ * `region`) The region in which the customer gateway should be created.
166
+ */
167
+ region?: pulumi.Input<string>;
168
+ /**
169
+ * The list of tags to apply to the customer gateway.
170
+ */
171
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
172
+ /**
173
+ * The date and time of the last update of the customer gateway (RFC 3339 format).
174
+ */
175
+ updatedAt?: pulumi.Input<string>;
176
+ }
177
+ /**
178
+ * The set of arguments for constructing a CustomerGateway resource.
179
+ */
180
+ export interface CustomerGatewayArgs {
181
+ /**
182
+ * The AS Number of the customer gateway. Must be different from Scaleway's ASN (12876). For testing, you can use a private ASN (64512-65535).
183
+ */
184
+ asn: pulumi.Input<number>;
185
+ /**
186
+ * The public IPv4 address of the customer gateway (your VPN endpoint).
187
+ */
188
+ ipv4Public?: pulumi.Input<string>;
189
+ /**
190
+ * The public IPv6 address of the customer gateway (your VPN endpoint).
191
+ */
192
+ ipv6Public?: pulumi.Input<string>;
193
+ /**
194
+ * The name of the customer gateway. If not provided, it will be randomly generated.
195
+ */
196
+ name?: pulumi.Input<string>;
197
+ /**
198
+ * `projectId`) The ID of the project the customer gateway is associated with.
199
+ */
200
+ projectId?: pulumi.Input<string>;
201
+ /**
202
+ * `region`) The region in which the customer gateway should be created.
203
+ */
204
+ region?: pulumi.Input<string>;
205
+ /**
206
+ * The list of tags to apply to the customer gateway.
207
+ */
208
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
209
+ }
@@ -0,0 +1,135 @@
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.CustomerGateway = void 0;
6
+ const pulumi = require("@pulumi/pulumi");
7
+ const utilities = require("../utilities");
8
+ /**
9
+ * Creates and manages Scaleway Site-to-Site VPN Customer Gateways.
10
+ * A customer gateway represents your external VPN endpoint (e.g., a firewall, router, or VPN appliance).
11
+ *
12
+ * For more information, see [the main documentation](https://www.scaleway.com/en/docs/site-to-site-vpn/reference-content/understanding-s2svpn/).
13
+ *
14
+ * ## Example Usage
15
+ *
16
+ * ### Basic
17
+ *
18
+ * ```typescript
19
+ * import * as pulumi from "@pulumi/pulumi";
20
+ * import * as scaleway from "@pulumiverse/scaleway";
21
+ *
22
+ * const customerGw = new scaleway.s2svpn.CustomerGateway("customer_gw", {
23
+ * name: "my-customer-gateway",
24
+ * ipv4Public: "203.0.113.1",
25
+ * asn: 65000,
26
+ * });
27
+ * ```
28
+ *
29
+ * ### With IPv6
30
+ *
31
+ * ```typescript
32
+ * import * as pulumi from "@pulumi/pulumi";
33
+ * import * as scaleway from "@pulumiverse/scaleway";
34
+ *
35
+ * const customerGw = new scaleway.s2svpn.CustomerGateway("customer_gw", {
36
+ * name: "my-customer-gateway",
37
+ * ipv4Public: "203.0.113.1",
38
+ * ipv6Public: "2001:db8::1",
39
+ * asn: 65000,
40
+ * });
41
+ * ```
42
+ *
43
+ * ### Using Instance Public IP
44
+ *
45
+ * ```typescript
46
+ * import * as pulumi from "@pulumi/pulumi";
47
+ * import * as scaleway from "@pulumiverse/scaleway";
48
+ *
49
+ * const vpnEndpointIp = new scaleway.instance.Ip("vpn_endpoint_ip", {});
50
+ * const vpnEndpoint = new scaleway.instance.Server("vpn_endpoint", {
51
+ * name: "vpn-endpoint",
52
+ * type: "DEV1-S",
53
+ * image: "ubuntu_jammy",
54
+ * ipIds: [vpnEndpointIp.id],
55
+ * });
56
+ * const customerGw = new scaleway.s2svpn.CustomerGateway("customer_gw", {
57
+ * name: "my-customer-gateway",
58
+ * ipv4Public: vpnEndpointIp.address,
59
+ * asn: 65000,
60
+ * });
61
+ * ```
62
+ *
63
+ * ## Import
64
+ *
65
+ * Customer Gateways can be imported using `{region}/{id}`, e.g.
66
+ *
67
+ * bash
68
+ *
69
+ * ```sh
70
+ * $ pulumi import scaleway:s2svpn/customerGateway:CustomerGateway main fr-par/11111111-1111-1111-1111-111111111111
71
+ * ```
72
+ */
73
+ class CustomerGateway extends pulumi.CustomResource {
74
+ /**
75
+ * Get an existing CustomerGateway resource's state with the given name, ID, and optional extra
76
+ * properties used to qualify the lookup.
77
+ *
78
+ * @param name The _unique_ name of the resulting resource.
79
+ * @param id The _unique_ provider ID of the resource to lookup.
80
+ * @param state Any extra arguments used during the lookup.
81
+ * @param opts Optional settings to control the behavior of the CustomResource.
82
+ */
83
+ static get(name, id, state, opts) {
84
+ return new CustomerGateway(name, state, { ...opts, id: id });
85
+ }
86
+ /**
87
+ * Returns true if the given object is an instance of CustomerGateway. This is designed to work even
88
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
89
+ */
90
+ static isInstance(obj) {
91
+ if (obj === undefined || obj === null) {
92
+ return false;
93
+ }
94
+ return obj['__pulumiType'] === CustomerGateway.__pulumiType;
95
+ }
96
+ constructor(name, argsOrState, opts) {
97
+ let resourceInputs = {};
98
+ opts = opts || {};
99
+ if (opts.id) {
100
+ const state = argsOrState;
101
+ resourceInputs["asn"] = state?.asn;
102
+ resourceInputs["createdAt"] = state?.createdAt;
103
+ resourceInputs["ipv4Public"] = state?.ipv4Public;
104
+ resourceInputs["ipv6Public"] = state?.ipv6Public;
105
+ resourceInputs["name"] = state?.name;
106
+ resourceInputs["organizationId"] = state?.organizationId;
107
+ resourceInputs["projectId"] = state?.projectId;
108
+ resourceInputs["region"] = state?.region;
109
+ resourceInputs["tags"] = state?.tags;
110
+ resourceInputs["updatedAt"] = state?.updatedAt;
111
+ }
112
+ else {
113
+ const args = argsOrState;
114
+ if (args?.asn === undefined && !opts.urn) {
115
+ throw new Error("Missing required property 'asn'");
116
+ }
117
+ resourceInputs["asn"] = args?.asn;
118
+ resourceInputs["ipv4Public"] = args?.ipv4Public;
119
+ resourceInputs["ipv6Public"] = args?.ipv6Public;
120
+ resourceInputs["name"] = args?.name;
121
+ resourceInputs["projectId"] = args?.projectId;
122
+ resourceInputs["region"] = args?.region;
123
+ resourceInputs["tags"] = args?.tags;
124
+ resourceInputs["createdAt"] = undefined /*out*/;
125
+ resourceInputs["organizationId"] = undefined /*out*/;
126
+ resourceInputs["updatedAt"] = undefined /*out*/;
127
+ }
128
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
129
+ super(CustomerGateway.__pulumiType, name, resourceInputs, opts);
130
+ }
131
+ }
132
+ exports.CustomerGateway = CustomerGateway;
133
+ /** @internal */
134
+ CustomerGateway.__pulumiType = 'scaleway:s2svpn/customerGateway:CustomerGateway';
135
+ //# sourceMappingURL=customerGateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customerGateway.js","sourceRoot":"","sources":["../../s2svpn/customerGateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,235 @@
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 Site-to-Site VPN Gateways.
6
+ * For more information, see [the main documentation](https://www.scaleway.com/en/docs/site-to-site-vpn/reference-content/understanding-s2svpn/).
7
+ *
8
+ * ## Example Usage
9
+ *
10
+ * ### Basic
11
+ *
12
+ * ```typescript
13
+ * import * as pulumi from "@pulumi/pulumi";
14
+ * import * as scaleway from "@pulumiverse/scaleway";
15
+ *
16
+ * const vpc = new scaleway.network.Vpc("vpc", {name: "my-vpc"});
17
+ * const pn = new scaleway.network.PrivateNetwork("pn", {
18
+ * name: "my-private-network",
19
+ * vpcId: vpc.id,
20
+ * ipv4Subnet: {
21
+ * subnet: "10.0.1.0/24",
22
+ * },
23
+ * });
24
+ * const gateway = new scaleway.s2svpn.Gateway("gateway", {
25
+ * name: "my-vpn-gateway",
26
+ * gatewayType: "VGW-S",
27
+ * privateNetworkId: pn.id,
28
+ * });
29
+ * ```
30
+ *
31
+ * ## Import
32
+ *
33
+ * VPN Gateways can be imported using `{region}/{id}`, e.g.
34
+ *
35
+ * bash
36
+ *
37
+ * ```sh
38
+ * $ pulumi import scaleway:s2svpn/gateway:Gateway main fr-par/11111111-1111-1111-1111-111111111111
39
+ * ```
40
+ */
41
+ export declare class Gateway extends pulumi.CustomResource {
42
+ /**
43
+ * Get an existing Gateway resource's state with the given name, ID, and optional extra
44
+ * properties used to qualify the lookup.
45
+ *
46
+ * @param name The _unique_ name of the resulting resource.
47
+ * @param id The _unique_ provider ID of the resource to lookup.
48
+ * @param state Any extra arguments used during the lookup.
49
+ * @param opts Optional settings to control the behavior of the CustomResource.
50
+ */
51
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: GatewayState, opts?: pulumi.CustomResourceOptions): Gateway;
52
+ /**
53
+ * Returns true if the given object is an instance of Gateway. This is designed to work even
54
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
55
+ */
56
+ static isInstance(obj: any): obj is Gateway;
57
+ /**
58
+ * The AS Number of the VPN gateway (typically 12876 for Scaleway).
59
+ */
60
+ readonly asn: pulumi.Output<number>;
61
+ /**
62
+ * The date and time of the creation of the VPN gateway (RFC 3339 format).
63
+ */
64
+ readonly createdAt: pulumi.Output<string>;
65
+ /**
66
+ * The VPN gateway type (commercial offer type).
67
+ */
68
+ readonly gatewayType: pulumi.Output<string>;
69
+ /**
70
+ * The ID of the IPAM private IPv4 address to attach to the VPN gateway.
71
+ */
72
+ readonly ipamPrivateIpv4Id: pulumi.Output<string>;
73
+ /**
74
+ * The ID of the IPAM private IPv6 address to attach to the VPN gateway.
75
+ */
76
+ readonly ipamPrivateIpv6Id: pulumi.Output<string>;
77
+ /**
78
+ * The name of the VPN gateway. If not provided, it will be randomly generated.
79
+ */
80
+ readonly name: pulumi.Output<string>;
81
+ /**
82
+ * The Organization ID the VPN gateway is associated with.
83
+ */
84
+ readonly organizationId: pulumi.Output<string>;
85
+ /**
86
+ * The ID of the Private Network to attach to the VPN gateway.
87
+ */
88
+ readonly privateNetworkId: pulumi.Output<string>;
89
+ /**
90
+ * `projectId`) The ID of the project the VPN gateway is associated with.
91
+ */
92
+ readonly projectId: pulumi.Output<string>;
93
+ /**
94
+ * The public endpoint configuration of the VPN gateway. See Public Config below.
95
+ */
96
+ readonly publicConfigs: pulumi.Output<outputs.s2svpn.GatewayPublicConfig[]>;
97
+ /**
98
+ * `region`) The region in which the VPN gateway should be created.
99
+ */
100
+ readonly region: pulumi.Output<string | undefined>;
101
+ /**
102
+ * The status of the VPN gateway.
103
+ */
104
+ readonly status: pulumi.Output<string>;
105
+ /**
106
+ * The list of tags to apply to the VPN gateway.
107
+ */
108
+ readonly tags: pulumi.Output<string[]>;
109
+ /**
110
+ * The date and time of the last update of the VPN gateway (RFC 3339 format).
111
+ */
112
+ readonly updatedAt: pulumi.Output<string>;
113
+ /**
114
+ * `zone`) The zone in which the VPN gateway should be created.
115
+ */
116
+ readonly zone: pulumi.Output<string>;
117
+ /**
118
+ * Create a Gateway resource with the given unique name, arguments, and options.
119
+ *
120
+ * @param name The _unique_ name of the resource.
121
+ * @param args The arguments to use to populate this resource's properties.
122
+ * @param opts A bag of options that control this resource's behavior.
123
+ */
124
+ constructor(name: string, args: GatewayArgs, opts?: pulumi.CustomResourceOptions);
125
+ }
126
+ /**
127
+ * Input properties used for looking up and filtering Gateway resources.
128
+ */
129
+ export interface GatewayState {
130
+ /**
131
+ * The AS Number of the VPN gateway (typically 12876 for Scaleway).
132
+ */
133
+ asn?: pulumi.Input<number>;
134
+ /**
135
+ * The date and time of the creation of the VPN gateway (RFC 3339 format).
136
+ */
137
+ createdAt?: pulumi.Input<string>;
138
+ /**
139
+ * The VPN gateway type (commercial offer type).
140
+ */
141
+ gatewayType?: pulumi.Input<string>;
142
+ /**
143
+ * The ID of the IPAM private IPv4 address to attach to the VPN gateway.
144
+ */
145
+ ipamPrivateIpv4Id?: pulumi.Input<string>;
146
+ /**
147
+ * The ID of the IPAM private IPv6 address to attach to the VPN gateway.
148
+ */
149
+ ipamPrivateIpv6Id?: pulumi.Input<string>;
150
+ /**
151
+ * The name of the VPN gateway. If not provided, it will be randomly generated.
152
+ */
153
+ name?: pulumi.Input<string>;
154
+ /**
155
+ * The Organization ID the VPN gateway is associated with.
156
+ */
157
+ organizationId?: pulumi.Input<string>;
158
+ /**
159
+ * The ID of the Private Network to attach to the VPN gateway.
160
+ */
161
+ privateNetworkId?: pulumi.Input<string>;
162
+ /**
163
+ * `projectId`) The ID of the project the VPN gateway is associated with.
164
+ */
165
+ projectId?: pulumi.Input<string>;
166
+ /**
167
+ * The public endpoint configuration of the VPN gateway. See Public Config below.
168
+ */
169
+ publicConfigs?: pulumi.Input<pulumi.Input<inputs.s2svpn.GatewayPublicConfig>[]>;
170
+ /**
171
+ * `region`) The region in which the VPN gateway should be created.
172
+ */
173
+ region?: pulumi.Input<string>;
174
+ /**
175
+ * The status of the VPN gateway.
176
+ */
177
+ status?: pulumi.Input<string>;
178
+ /**
179
+ * The list of tags to apply to the VPN gateway.
180
+ */
181
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
182
+ /**
183
+ * The date and time of the last update of the VPN gateway (RFC 3339 format).
184
+ */
185
+ updatedAt?: pulumi.Input<string>;
186
+ /**
187
+ * `zone`) The zone in which the VPN gateway should be created.
188
+ */
189
+ zone?: pulumi.Input<string>;
190
+ }
191
+ /**
192
+ * The set of arguments for constructing a Gateway resource.
193
+ */
194
+ export interface GatewayArgs {
195
+ /**
196
+ * The VPN gateway type (commercial offer type).
197
+ */
198
+ gatewayType: pulumi.Input<string>;
199
+ /**
200
+ * The ID of the IPAM private IPv4 address to attach to the VPN gateway.
201
+ */
202
+ ipamPrivateIpv4Id?: pulumi.Input<string>;
203
+ /**
204
+ * The ID of the IPAM private IPv6 address to attach to the VPN gateway.
205
+ */
206
+ ipamPrivateIpv6Id?: pulumi.Input<string>;
207
+ /**
208
+ * The name of the VPN gateway. If not provided, it will be randomly generated.
209
+ */
210
+ name?: pulumi.Input<string>;
211
+ /**
212
+ * The ID of the Private Network to attach to the VPN gateway.
213
+ */
214
+ privateNetworkId: pulumi.Input<string>;
215
+ /**
216
+ * `projectId`) The ID of the project the VPN gateway is associated with.
217
+ */
218
+ projectId?: pulumi.Input<string>;
219
+ /**
220
+ * The public endpoint configuration of the VPN gateway. See Public Config below.
221
+ */
222
+ publicConfigs?: pulumi.Input<pulumi.Input<inputs.s2svpn.GatewayPublicConfig>[]>;
223
+ /**
224
+ * `region`) The region in which the VPN gateway should be created.
225
+ */
226
+ region?: pulumi.Input<string>;
227
+ /**
228
+ * The list of tags to apply to the VPN gateway.
229
+ */
230
+ tags?: pulumi.Input<pulumi.Input<string>[]>;
231
+ /**
232
+ * `zone`) The zone in which the VPN gateway should be created.
233
+ */
234
+ zone?: pulumi.Input<string>;
235
+ }