@pulumi/gcp 8.3.1 → 8.4.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/apigee/natAddress.d.ts +76 -1
- package/apigee/natAddress.js +66 -1
- package/apigee/natAddress.js.map +1 -1
- package/bigquery/table.d.ts +12 -0
- package/bigquery/table.js +2 -0
- package/bigquery/table.js.map +1 -1
- package/cloudrun/service.d.ts +39 -0
- package/cloudrun/service.js +39 -0
- package/cloudrun/service.js.map +1 -1
- package/cloudrunv2/service.d.ts +33 -0
- package/cloudrunv2/service.js +33 -0
- package/cloudrunv2/service.js.map +1 -1
- package/compute/getRegionInstanceGroupManager.d.ts +135 -0
- package/compute/getRegionInstanceGroupManager.js +82 -0
- package/compute/getRegionInstanceGroupManager.js.map +1 -0
- package/compute/getRouterNat.d.ts +1 -0
- package/compute/getRouterNat.js.map +1 -1
- package/compute/index.d.ts +9 -0
- package/compute/index.js +17 -4
- package/compute/index.js.map +1 -1
- package/compute/instance.d.ts +3 -3
- package/compute/instanceFromMachineImage.d.ts +3 -3
- package/compute/instanceFromTemplate.d.ts +3 -3
- package/compute/interconnect.d.ts +22 -16
- package/compute/interconnect.js +0 -6
- package/compute/interconnect.js.map +1 -1
- package/compute/regionCommitment.d.ts +12 -0
- package/compute/regionCommitment.js +2 -0
- package/compute/regionCommitment.js.map +1 -1
- package/compute/regionNetworkFirewallPolicyWithRules.d.ts +304 -0
- package/compute/regionNetworkFirewallPolicyWithRules.js +210 -0
- package/compute/regionNetworkFirewallPolicyWithRules.js.map +1 -0
- package/compute/routerNat.d.ts +17 -2
- package/compute/routerNat.js +2 -0
- package/compute/routerNat.js.map +1 -1
- package/compute/routerNatAddress.d.ts +171 -0
- package/compute/routerNatAddress.js +113 -0
- package/compute/routerNatAddress.js.map +1 -0
- package/compute/subnetwork.d.ts +6 -6
- package/logging/index.d.ts +3 -0
- package/logging/index.js +6 -1
- package/logging/index.js.map +1 -1
- package/logging/logScope.d.ts +163 -0
- package/logging/logScope.js +106 -0
- package/logging/logScope.js.map +1 -0
- package/looker/instance.d.ts +49 -0
- package/looker/instance.js +26 -0
- package/looker/instance.js.map +1 -1
- package/networkconnectivity/spoke.d.ts +174 -0
- package/networkconnectivity/spoke.js +174 -0
- package/networkconnectivity/spoke.js.map +1 -1
- package/networksecurity/securityProfile.d.ts +1 -1
- package/networksecurity/securityProfile.js +1 -1
- package/package.json +2 -2
- package/privilegedaccessmanager/getEntitlement.d.ts +43 -0
- package/privilegedaccessmanager/getEntitlement.js +28 -0
- package/privilegedaccessmanager/getEntitlement.js.map +1 -0
- package/privilegedaccessmanager/index.d.ts +3 -0
- package/privilegedaccessmanager/index.js +4 -1
- package/privilegedaccessmanager/index.js.map +1 -1
- package/secretmanager/getRegionalSecretVersion.d.ts +2 -2
- package/secretmanager/getRegionalSecretVersion.js +2 -2
- package/secretmanager/getRegionalSecretVersionAccess.d.ts +105 -0
- package/secretmanager/getRegionalSecretVersionAccess.js +58 -0
- package/secretmanager/getRegionalSecretVersionAccess.js.map +1 -0
- package/secretmanager/getRegionalSecrets.d.ts +88 -0
- package/secretmanager/getRegionalSecrets.js +54 -0
- package/secretmanager/getRegionalSecrets.js.map +1 -0
- package/secretmanager/index.d.ts +6 -0
- package/secretmanager/index.js +7 -1
- package/secretmanager/index.js.map +1 -1
- package/types/input.d.ts +578 -3
- package/types/output.d.ts +1055 -5
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
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.LogScope = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("../utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Describes a group of resources to read log entries from
|
|
10
|
+
*
|
|
11
|
+
* To get more information about LogScope, see:
|
|
12
|
+
*
|
|
13
|
+
* * [API documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.locations.logScopes)
|
|
14
|
+
* * How-to Guides
|
|
15
|
+
* * [Official Documentation](https://cloud.google.com/logging/docs/apis)
|
|
16
|
+
*
|
|
17
|
+
* ## Example Usage
|
|
18
|
+
*
|
|
19
|
+
* ### Logging Log Scope Basic
|
|
20
|
+
*
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
23
|
+
* import * as gcp from "@pulumi/gcp";
|
|
24
|
+
*
|
|
25
|
+
* const loggingLogScope = new gcp.logging.LogScope("logging_log_scope", {
|
|
26
|
+
* parent: "projects/my-project-name",
|
|
27
|
+
* location: "global",
|
|
28
|
+
* name: "projects/my-project-name/locations/global/logScopes/my-log-scope",
|
|
29
|
+
* resourceNames: [
|
|
30
|
+
* "projects/my-project-name",
|
|
31
|
+
* "projects/my-project-name/locations/global/buckets/_Default/views/view1",
|
|
32
|
+
* "projects/my-project-name/locations/global/buckets/_Default/views/view2",
|
|
33
|
+
* ],
|
|
34
|
+
* description: "A log scope configured with Terraform",
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* ## Import
|
|
39
|
+
*
|
|
40
|
+
* LogScope can be imported using any of these accepted formats:
|
|
41
|
+
*
|
|
42
|
+
* * `{{parent}}/locations/{{location}}/logScopes/{{name}}`
|
|
43
|
+
*
|
|
44
|
+
* When using the `pulumi import` command, LogScope can be imported using one of the formats above. For example:
|
|
45
|
+
*
|
|
46
|
+
* ```sh
|
|
47
|
+
* $ pulumi import gcp:logging/logScope:LogScope default {{parent}}/locations/{{location}}/logScopes/{{name}}
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
class LogScope extends pulumi.CustomResource {
|
|
51
|
+
/**
|
|
52
|
+
* Get an existing LogScope resource's state with the given name, ID, and optional extra
|
|
53
|
+
* properties used to qualify the lookup.
|
|
54
|
+
*
|
|
55
|
+
* @param name The _unique_ name of the resulting resource.
|
|
56
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
57
|
+
* @param state Any extra arguments used during the lookup.
|
|
58
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
59
|
+
*/
|
|
60
|
+
static get(name, id, state, opts) {
|
|
61
|
+
return new LogScope(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Returns true if the given object is an instance of LogScope. This is designed to work even
|
|
65
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
66
|
+
*/
|
|
67
|
+
static isInstance(obj) {
|
|
68
|
+
if (obj === undefined || obj === null) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
return obj['__pulumiType'] === LogScope.__pulumiType;
|
|
72
|
+
}
|
|
73
|
+
constructor(name, argsOrState, opts) {
|
|
74
|
+
let resourceInputs = {};
|
|
75
|
+
opts = opts || {};
|
|
76
|
+
if (opts.id) {
|
|
77
|
+
const state = argsOrState;
|
|
78
|
+
resourceInputs["createTime"] = state ? state.createTime : undefined;
|
|
79
|
+
resourceInputs["description"] = state ? state.description : undefined;
|
|
80
|
+
resourceInputs["location"] = state ? state.location : undefined;
|
|
81
|
+
resourceInputs["name"] = state ? state.name : undefined;
|
|
82
|
+
resourceInputs["parent"] = state ? state.parent : undefined;
|
|
83
|
+
resourceInputs["resourceNames"] = state ? state.resourceNames : undefined;
|
|
84
|
+
resourceInputs["updateTime"] = state ? state.updateTime : undefined;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const args = argsOrState;
|
|
88
|
+
if ((!args || args.resourceNames === undefined) && !opts.urn) {
|
|
89
|
+
throw new Error("Missing required property 'resourceNames'");
|
|
90
|
+
}
|
|
91
|
+
resourceInputs["description"] = args ? args.description : undefined;
|
|
92
|
+
resourceInputs["location"] = args ? args.location : undefined;
|
|
93
|
+
resourceInputs["name"] = args ? args.name : undefined;
|
|
94
|
+
resourceInputs["parent"] = args ? args.parent : undefined;
|
|
95
|
+
resourceInputs["resourceNames"] = args ? args.resourceNames : undefined;
|
|
96
|
+
resourceInputs["createTime"] = undefined /*out*/;
|
|
97
|
+
resourceInputs["updateTime"] = undefined /*out*/;
|
|
98
|
+
}
|
|
99
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
100
|
+
super(LogScope.__pulumiType, name, resourceInputs, opts);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.LogScope = LogScope;
|
|
104
|
+
/** @internal */
|
|
105
|
+
LogScope.__pulumiType = 'gcp:logging/logScope:LogScope';
|
|
106
|
+
//# sourceMappingURL=logScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logScope.js","sourceRoot":"","sources":["../../logging/logScope.ts"],"names":[],"mappings":"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"}
|
package/looker/instance.d.ts
CHANGED
|
@@ -187,6 +187,28 @@ import * as outputs from "../types/output";
|
|
|
187
187
|
* },
|
|
188
188
|
* });
|
|
189
189
|
* ```
|
|
190
|
+
* ### Looker Instance Psc
|
|
191
|
+
*
|
|
192
|
+
* ```typescript
|
|
193
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
194
|
+
* import * as gcp from "@pulumi/gcp";
|
|
195
|
+
*
|
|
196
|
+
* const looker_instance = new gcp.looker.Instance("looker-instance", {
|
|
197
|
+
* name: "my-instance",
|
|
198
|
+
* platformEdition: "LOOKER_CORE_ENTERPRISE_ANNUAL",
|
|
199
|
+
* region: "us-central1",
|
|
200
|
+
* privateIpEnabled: false,
|
|
201
|
+
* publicIpEnabled: false,
|
|
202
|
+
* pscEnabled: true,
|
|
203
|
+
* oauthConfig: {
|
|
204
|
+
* clientId: "my-client-id",
|
|
205
|
+
* clientSecret: "my-client-secret",
|
|
206
|
+
* },
|
|
207
|
+
* pscConfig: {
|
|
208
|
+
* allowedVpcs: ["projects/test-project/global/networks/test"],
|
|
209
|
+
* },
|
|
210
|
+
* });
|
|
211
|
+
* ```
|
|
190
212
|
*
|
|
191
213
|
* ## Import
|
|
192
214
|
*
|
|
@@ -331,6 +353,15 @@ export declare class Instance extends pulumi.CustomResource {
|
|
|
331
353
|
* If it is not provided, the provider project is used.
|
|
332
354
|
*/
|
|
333
355
|
readonly project: pulumi.Output<string>;
|
|
356
|
+
/**
|
|
357
|
+
* Information for Private Service Connect (PSC) setup for a Looker instance.
|
|
358
|
+
* Structure is documented below.
|
|
359
|
+
*/
|
|
360
|
+
readonly pscConfig: pulumi.Output<outputs.looker.InstancePscConfig | undefined>;
|
|
361
|
+
/**
|
|
362
|
+
* Whether Public Service Connect (PSC) is enabled on the Looker instance
|
|
363
|
+
*/
|
|
364
|
+
readonly pscEnabled: pulumi.Output<boolean | undefined>;
|
|
334
365
|
/**
|
|
335
366
|
* Whether public IP is enabled on the Looker instance.
|
|
336
367
|
*/
|
|
@@ -470,6 +501,15 @@ export interface InstanceState {
|
|
|
470
501
|
* If it is not provided, the provider project is used.
|
|
471
502
|
*/
|
|
472
503
|
project?: pulumi.Input<string>;
|
|
504
|
+
/**
|
|
505
|
+
* Information for Private Service Connect (PSC) setup for a Looker instance.
|
|
506
|
+
* Structure is documented below.
|
|
507
|
+
*/
|
|
508
|
+
pscConfig?: pulumi.Input<inputs.looker.InstancePscConfig>;
|
|
509
|
+
/**
|
|
510
|
+
* Whether Public Service Connect (PSC) is enabled on the Looker instance
|
|
511
|
+
*/
|
|
512
|
+
pscEnabled?: pulumi.Input<boolean>;
|
|
473
513
|
/**
|
|
474
514
|
* Whether public IP is enabled on the Looker instance.
|
|
475
515
|
*/
|
|
@@ -576,6 +616,15 @@ export interface InstanceArgs {
|
|
|
576
616
|
* If it is not provided, the provider project is used.
|
|
577
617
|
*/
|
|
578
618
|
project?: pulumi.Input<string>;
|
|
619
|
+
/**
|
|
620
|
+
* Information for Private Service Connect (PSC) setup for a Looker instance.
|
|
621
|
+
* Structure is documented below.
|
|
622
|
+
*/
|
|
623
|
+
pscConfig?: pulumi.Input<inputs.looker.InstancePscConfig>;
|
|
624
|
+
/**
|
|
625
|
+
* Whether Public Service Connect (PSC) is enabled on the Looker instance
|
|
626
|
+
*/
|
|
627
|
+
pscEnabled?: pulumi.Input<boolean>;
|
|
579
628
|
/**
|
|
580
629
|
* Whether public IP is enabled on the Looker instance.
|
|
581
630
|
*/
|
package/looker/instance.js
CHANGED
|
@@ -191,6 +191,28 @@ const utilities = require("../utilities");
|
|
|
191
191
|
* },
|
|
192
192
|
* });
|
|
193
193
|
* ```
|
|
194
|
+
* ### Looker Instance Psc
|
|
195
|
+
*
|
|
196
|
+
* ```typescript
|
|
197
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
198
|
+
* import * as gcp from "@pulumi/gcp";
|
|
199
|
+
*
|
|
200
|
+
* const looker_instance = new gcp.looker.Instance("looker-instance", {
|
|
201
|
+
* name: "my-instance",
|
|
202
|
+
* platformEdition: "LOOKER_CORE_ENTERPRISE_ANNUAL",
|
|
203
|
+
* region: "us-central1",
|
|
204
|
+
* privateIpEnabled: false,
|
|
205
|
+
* publicIpEnabled: false,
|
|
206
|
+
* pscEnabled: true,
|
|
207
|
+
* oauthConfig: {
|
|
208
|
+
* clientId: "my-client-id",
|
|
209
|
+
* clientSecret: "my-client-secret",
|
|
210
|
+
* },
|
|
211
|
+
* pscConfig: {
|
|
212
|
+
* allowedVpcs: ["projects/test-project/global/networks/test"],
|
|
213
|
+
* },
|
|
214
|
+
* });
|
|
215
|
+
* ```
|
|
194
216
|
*
|
|
195
217
|
* ## Import
|
|
196
218
|
*
|
|
@@ -268,6 +290,8 @@ class Instance extends pulumi.CustomResource {
|
|
|
268
290
|
resourceInputs["platformEdition"] = state ? state.platformEdition : undefined;
|
|
269
291
|
resourceInputs["privateIpEnabled"] = state ? state.privateIpEnabled : undefined;
|
|
270
292
|
resourceInputs["project"] = state ? state.project : undefined;
|
|
293
|
+
resourceInputs["pscConfig"] = state ? state.pscConfig : undefined;
|
|
294
|
+
resourceInputs["pscEnabled"] = state ? state.pscEnabled : undefined;
|
|
271
295
|
resourceInputs["publicIpEnabled"] = state ? state.publicIpEnabled : undefined;
|
|
272
296
|
resourceInputs["region"] = state ? state.region : undefined;
|
|
273
297
|
resourceInputs["reservedRange"] = state ? state.reservedRange : undefined;
|
|
@@ -288,6 +312,8 @@ class Instance extends pulumi.CustomResource {
|
|
|
288
312
|
resourceInputs["platformEdition"] = args ? args.platformEdition : undefined;
|
|
289
313
|
resourceInputs["privateIpEnabled"] = args ? args.privateIpEnabled : undefined;
|
|
290
314
|
resourceInputs["project"] = args ? args.project : undefined;
|
|
315
|
+
resourceInputs["pscConfig"] = args ? args.pscConfig : undefined;
|
|
316
|
+
resourceInputs["pscEnabled"] = args ? args.pscEnabled : undefined;
|
|
291
317
|
resourceInputs["publicIpEnabled"] = args ? args.publicIpEnabled : undefined;
|
|
292
318
|
resourceInputs["region"] = args ? args.region : undefined;
|
|
293
319
|
resourceInputs["reservedRange"] = args ? args.reservedRange : undefined;
|
package/looker/instance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance.js","sourceRoot":"","sources":["../../looker/instance.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"instance.js","sourceRoot":"","sources":["../../looker/instance.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,6 +105,180 @@ import * as outputs from "../types/output";
|
|
|
105
105
|
* ipAddress: "10.0.0.2",
|
|
106
106
|
* }],
|
|
107
107
|
* siteToSiteDataTransfer: true,
|
|
108
|
+
* includeImportRanges: ["ALL_IPV4_RANGES"],
|
|
109
|
+
* },
|
|
110
|
+
* });
|
|
111
|
+
* ```
|
|
112
|
+
* ### Network Connectivity Spoke Vpn Tunnel Basic
|
|
113
|
+
*
|
|
114
|
+
* ```typescript
|
|
115
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
116
|
+
* import * as gcp from "@pulumi/gcp";
|
|
117
|
+
*
|
|
118
|
+
* const basicHub = new gcp.networkconnectivity.Hub("basic_hub", {
|
|
119
|
+
* name: "basic-hub1",
|
|
120
|
+
* description: "A sample hub",
|
|
121
|
+
* labels: {
|
|
122
|
+
* "label-two": "value-one",
|
|
123
|
+
* },
|
|
124
|
+
* });
|
|
125
|
+
* const network = new gcp.compute.Network("network", {
|
|
126
|
+
* name: "basic-network",
|
|
127
|
+
* autoCreateSubnetworks: false,
|
|
128
|
+
* });
|
|
129
|
+
* const subnetwork = new gcp.compute.Subnetwork("subnetwork", {
|
|
130
|
+
* name: "basic-subnetwork",
|
|
131
|
+
* ipCidrRange: "10.0.0.0/28",
|
|
132
|
+
* region: "us-central1",
|
|
133
|
+
* network: network.selfLink,
|
|
134
|
+
* });
|
|
135
|
+
* const gateway = new gcp.compute.HaVpnGateway("gateway", {
|
|
136
|
+
* name: "vpn-gateway",
|
|
137
|
+
* network: network.id,
|
|
138
|
+
* });
|
|
139
|
+
* const externalVpnGw = new gcp.compute.ExternalVpnGateway("external_vpn_gw", {
|
|
140
|
+
* name: "external-vpn-gateway",
|
|
141
|
+
* redundancyType: "SINGLE_IP_INTERNALLY_REDUNDANT",
|
|
142
|
+
* description: "An externally managed VPN gateway",
|
|
143
|
+
* interfaces: [{
|
|
144
|
+
* id: 0,
|
|
145
|
+
* ipAddress: "8.8.8.8",
|
|
146
|
+
* }],
|
|
147
|
+
* });
|
|
148
|
+
* const router = new gcp.compute.Router("router", {
|
|
149
|
+
* name: "external-vpn-gateway",
|
|
150
|
+
* region: "us-central1",
|
|
151
|
+
* network: network.name,
|
|
152
|
+
* bgp: {
|
|
153
|
+
* asn: 64514,
|
|
154
|
+
* },
|
|
155
|
+
* });
|
|
156
|
+
* const tunnel1 = new gcp.compute.VPNTunnel("tunnel1", {
|
|
157
|
+
* name: "tunnel1",
|
|
158
|
+
* region: "us-central1",
|
|
159
|
+
* vpnGateway: gateway.id,
|
|
160
|
+
* peerExternalGateway: externalVpnGw.id,
|
|
161
|
+
* peerExternalGatewayInterface: 0,
|
|
162
|
+
* sharedSecret: "a secret message",
|
|
163
|
+
* router: router.id,
|
|
164
|
+
* vpnGatewayInterface: 0,
|
|
165
|
+
* });
|
|
166
|
+
* const tunnel2 = new gcp.compute.VPNTunnel("tunnel2", {
|
|
167
|
+
* name: "tunnel2",
|
|
168
|
+
* region: "us-central1",
|
|
169
|
+
* vpnGateway: gateway.id,
|
|
170
|
+
* peerExternalGateway: externalVpnGw.id,
|
|
171
|
+
* peerExternalGatewayInterface: 0,
|
|
172
|
+
* sharedSecret: "a secret message",
|
|
173
|
+
* router: pulumi.interpolate` ${router.id}`,
|
|
174
|
+
* vpnGatewayInterface: 1,
|
|
175
|
+
* });
|
|
176
|
+
* const routerInterface1 = new gcp.compute.RouterInterface("router_interface1", {
|
|
177
|
+
* name: "router-interface1",
|
|
178
|
+
* router: router.name,
|
|
179
|
+
* region: "us-central1",
|
|
180
|
+
* ipRange: "169.254.0.1/30",
|
|
181
|
+
* vpnTunnel: tunnel1.name,
|
|
182
|
+
* });
|
|
183
|
+
* const routerPeer1 = new gcp.compute.RouterPeer("router_peer1", {
|
|
184
|
+
* name: "router-peer1",
|
|
185
|
+
* router: router.name,
|
|
186
|
+
* region: "us-central1",
|
|
187
|
+
* peerIpAddress: "169.254.0.2",
|
|
188
|
+
* peerAsn: 64515,
|
|
189
|
+
* advertisedRoutePriority: 100,
|
|
190
|
+
* "interface": routerInterface1.name,
|
|
191
|
+
* });
|
|
192
|
+
* const routerInterface2 = new gcp.compute.RouterInterface("router_interface2", {
|
|
193
|
+
* name: "router-interface2",
|
|
194
|
+
* router: router.name,
|
|
195
|
+
* region: "us-central1",
|
|
196
|
+
* ipRange: "169.254.1.1/30",
|
|
197
|
+
* vpnTunnel: tunnel2.name,
|
|
198
|
+
* });
|
|
199
|
+
* const routerPeer2 = new gcp.compute.RouterPeer("router_peer2", {
|
|
200
|
+
* name: "router-peer2",
|
|
201
|
+
* router: router.name,
|
|
202
|
+
* region: "us-central1",
|
|
203
|
+
* peerIpAddress: "169.254.1.2",
|
|
204
|
+
* peerAsn: 64515,
|
|
205
|
+
* advertisedRoutePriority: 100,
|
|
206
|
+
* "interface": routerInterface2.name,
|
|
207
|
+
* });
|
|
208
|
+
* const tunnel1Spoke = new gcp.networkconnectivity.Spoke("tunnel1", {
|
|
209
|
+
* name: "vpn-tunnel-1-spoke",
|
|
210
|
+
* location: "us-central1",
|
|
211
|
+
* description: "A sample spoke with a linked VPN Tunnel",
|
|
212
|
+
* labels: {
|
|
213
|
+
* "label-one": "value-one",
|
|
214
|
+
* },
|
|
215
|
+
* hub: basicHub.id,
|
|
216
|
+
* linkedVpnTunnels: {
|
|
217
|
+
* uris: [tunnel1.selfLink],
|
|
218
|
+
* siteToSiteDataTransfer: true,
|
|
219
|
+
* includeImportRanges: ["ALL_IPV4_RANGES"],
|
|
220
|
+
* },
|
|
221
|
+
* });
|
|
222
|
+
* const tunnel2Spoke = new gcp.networkconnectivity.Spoke("tunnel2", {
|
|
223
|
+
* name: "vpn-tunnel-2-spoke",
|
|
224
|
+
* location: "us-central1",
|
|
225
|
+
* description: "A sample spoke with a linked VPN Tunnel",
|
|
226
|
+
* labels: {
|
|
227
|
+
* "label-one": "value-one",
|
|
228
|
+
* },
|
|
229
|
+
* hub: basicHub.id,
|
|
230
|
+
* linkedVpnTunnels: {
|
|
231
|
+
* uris: [tunnel2.selfLink],
|
|
232
|
+
* siteToSiteDataTransfer: true,
|
|
233
|
+
* includeImportRanges: ["ALL_IPV4_RANGES"],
|
|
234
|
+
* },
|
|
235
|
+
* });
|
|
236
|
+
* ```
|
|
237
|
+
* ### Network Connectivity Spoke Interconnect Attachment Basic
|
|
238
|
+
*
|
|
239
|
+
* ```typescript
|
|
240
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
241
|
+
* import * as gcp from "@pulumi/gcp";
|
|
242
|
+
*
|
|
243
|
+
* const basicHub = new gcp.networkconnectivity.Hub("basic_hub", {
|
|
244
|
+
* name: "basic-hub1",
|
|
245
|
+
* description: "A sample hub",
|
|
246
|
+
* labels: {
|
|
247
|
+
* "label-two": "value-one",
|
|
248
|
+
* },
|
|
249
|
+
* });
|
|
250
|
+
* const network = new gcp.compute.Network("network", {
|
|
251
|
+
* name: "basic-network",
|
|
252
|
+
* autoCreateSubnetworks: false,
|
|
253
|
+
* });
|
|
254
|
+
* const router = new gcp.compute.Router("router", {
|
|
255
|
+
* name: "external-vpn-gateway",
|
|
256
|
+
* region: "us-central1",
|
|
257
|
+
* network: network.name,
|
|
258
|
+
* bgp: {
|
|
259
|
+
* asn: 16550,
|
|
260
|
+
* },
|
|
261
|
+
* });
|
|
262
|
+
* const interconnect_attachment = new gcp.compute.InterconnectAttachment("interconnect-attachment", {
|
|
263
|
+
* name: "partner-interconnect1",
|
|
264
|
+
* edgeAvailabilityDomain: "AVAILABILITY_DOMAIN_1",
|
|
265
|
+
* type: "PARTNER",
|
|
266
|
+
* router: router.id,
|
|
267
|
+
* mtu: "1500",
|
|
268
|
+
* region: "us-central1",
|
|
269
|
+
* });
|
|
270
|
+
* const primary = new gcp.networkconnectivity.Spoke("primary", {
|
|
271
|
+
* name: "interconnect-attachment-spoke",
|
|
272
|
+
* location: "us-central1",
|
|
273
|
+
* description: "A sample spoke with a linked Interconnect Attachment",
|
|
274
|
+
* labels: {
|
|
275
|
+
* "label-one": "value-one",
|
|
276
|
+
* },
|
|
277
|
+
* hub: basicHub.id,
|
|
278
|
+
* linkedInterconnectAttachments: {
|
|
279
|
+
* uris: [interconnect_attachment.selfLink],
|
|
280
|
+
* siteToSiteDataTransfer: true,
|
|
281
|
+
* includeImportRanges: ["ALL_IPV4_RANGES"],
|
|
108
282
|
* },
|
|
109
283
|
* });
|
|
110
284
|
* ```
|
|
@@ -109,6 +109,180 @@ const utilities = require("../utilities");
|
|
|
109
109
|
* ipAddress: "10.0.0.2",
|
|
110
110
|
* }],
|
|
111
111
|
* siteToSiteDataTransfer: true,
|
|
112
|
+
* includeImportRanges: ["ALL_IPV4_RANGES"],
|
|
113
|
+
* },
|
|
114
|
+
* });
|
|
115
|
+
* ```
|
|
116
|
+
* ### Network Connectivity Spoke Vpn Tunnel Basic
|
|
117
|
+
*
|
|
118
|
+
* ```typescript
|
|
119
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
120
|
+
* import * as gcp from "@pulumi/gcp";
|
|
121
|
+
*
|
|
122
|
+
* const basicHub = new gcp.networkconnectivity.Hub("basic_hub", {
|
|
123
|
+
* name: "basic-hub1",
|
|
124
|
+
* description: "A sample hub",
|
|
125
|
+
* labels: {
|
|
126
|
+
* "label-two": "value-one",
|
|
127
|
+
* },
|
|
128
|
+
* });
|
|
129
|
+
* const network = new gcp.compute.Network("network", {
|
|
130
|
+
* name: "basic-network",
|
|
131
|
+
* autoCreateSubnetworks: false,
|
|
132
|
+
* });
|
|
133
|
+
* const subnetwork = new gcp.compute.Subnetwork("subnetwork", {
|
|
134
|
+
* name: "basic-subnetwork",
|
|
135
|
+
* ipCidrRange: "10.0.0.0/28",
|
|
136
|
+
* region: "us-central1",
|
|
137
|
+
* network: network.selfLink,
|
|
138
|
+
* });
|
|
139
|
+
* const gateway = new gcp.compute.HaVpnGateway("gateway", {
|
|
140
|
+
* name: "vpn-gateway",
|
|
141
|
+
* network: network.id,
|
|
142
|
+
* });
|
|
143
|
+
* const externalVpnGw = new gcp.compute.ExternalVpnGateway("external_vpn_gw", {
|
|
144
|
+
* name: "external-vpn-gateway",
|
|
145
|
+
* redundancyType: "SINGLE_IP_INTERNALLY_REDUNDANT",
|
|
146
|
+
* description: "An externally managed VPN gateway",
|
|
147
|
+
* interfaces: [{
|
|
148
|
+
* id: 0,
|
|
149
|
+
* ipAddress: "8.8.8.8",
|
|
150
|
+
* }],
|
|
151
|
+
* });
|
|
152
|
+
* const router = new gcp.compute.Router("router", {
|
|
153
|
+
* name: "external-vpn-gateway",
|
|
154
|
+
* region: "us-central1",
|
|
155
|
+
* network: network.name,
|
|
156
|
+
* bgp: {
|
|
157
|
+
* asn: 64514,
|
|
158
|
+
* },
|
|
159
|
+
* });
|
|
160
|
+
* const tunnel1 = new gcp.compute.VPNTunnel("tunnel1", {
|
|
161
|
+
* name: "tunnel1",
|
|
162
|
+
* region: "us-central1",
|
|
163
|
+
* vpnGateway: gateway.id,
|
|
164
|
+
* peerExternalGateway: externalVpnGw.id,
|
|
165
|
+
* peerExternalGatewayInterface: 0,
|
|
166
|
+
* sharedSecret: "a secret message",
|
|
167
|
+
* router: router.id,
|
|
168
|
+
* vpnGatewayInterface: 0,
|
|
169
|
+
* });
|
|
170
|
+
* const tunnel2 = new gcp.compute.VPNTunnel("tunnel2", {
|
|
171
|
+
* name: "tunnel2",
|
|
172
|
+
* region: "us-central1",
|
|
173
|
+
* vpnGateway: gateway.id,
|
|
174
|
+
* peerExternalGateway: externalVpnGw.id,
|
|
175
|
+
* peerExternalGatewayInterface: 0,
|
|
176
|
+
* sharedSecret: "a secret message",
|
|
177
|
+
* router: pulumi.interpolate` ${router.id}`,
|
|
178
|
+
* vpnGatewayInterface: 1,
|
|
179
|
+
* });
|
|
180
|
+
* const routerInterface1 = new gcp.compute.RouterInterface("router_interface1", {
|
|
181
|
+
* name: "router-interface1",
|
|
182
|
+
* router: router.name,
|
|
183
|
+
* region: "us-central1",
|
|
184
|
+
* ipRange: "169.254.0.1/30",
|
|
185
|
+
* vpnTunnel: tunnel1.name,
|
|
186
|
+
* });
|
|
187
|
+
* const routerPeer1 = new gcp.compute.RouterPeer("router_peer1", {
|
|
188
|
+
* name: "router-peer1",
|
|
189
|
+
* router: router.name,
|
|
190
|
+
* region: "us-central1",
|
|
191
|
+
* peerIpAddress: "169.254.0.2",
|
|
192
|
+
* peerAsn: 64515,
|
|
193
|
+
* advertisedRoutePriority: 100,
|
|
194
|
+
* "interface": routerInterface1.name,
|
|
195
|
+
* });
|
|
196
|
+
* const routerInterface2 = new gcp.compute.RouterInterface("router_interface2", {
|
|
197
|
+
* name: "router-interface2",
|
|
198
|
+
* router: router.name,
|
|
199
|
+
* region: "us-central1",
|
|
200
|
+
* ipRange: "169.254.1.1/30",
|
|
201
|
+
* vpnTunnel: tunnel2.name,
|
|
202
|
+
* });
|
|
203
|
+
* const routerPeer2 = new gcp.compute.RouterPeer("router_peer2", {
|
|
204
|
+
* name: "router-peer2",
|
|
205
|
+
* router: router.name,
|
|
206
|
+
* region: "us-central1",
|
|
207
|
+
* peerIpAddress: "169.254.1.2",
|
|
208
|
+
* peerAsn: 64515,
|
|
209
|
+
* advertisedRoutePriority: 100,
|
|
210
|
+
* "interface": routerInterface2.name,
|
|
211
|
+
* });
|
|
212
|
+
* const tunnel1Spoke = new gcp.networkconnectivity.Spoke("tunnel1", {
|
|
213
|
+
* name: "vpn-tunnel-1-spoke",
|
|
214
|
+
* location: "us-central1",
|
|
215
|
+
* description: "A sample spoke with a linked VPN Tunnel",
|
|
216
|
+
* labels: {
|
|
217
|
+
* "label-one": "value-one",
|
|
218
|
+
* },
|
|
219
|
+
* hub: basicHub.id,
|
|
220
|
+
* linkedVpnTunnels: {
|
|
221
|
+
* uris: [tunnel1.selfLink],
|
|
222
|
+
* siteToSiteDataTransfer: true,
|
|
223
|
+
* includeImportRanges: ["ALL_IPV4_RANGES"],
|
|
224
|
+
* },
|
|
225
|
+
* });
|
|
226
|
+
* const tunnel2Spoke = new gcp.networkconnectivity.Spoke("tunnel2", {
|
|
227
|
+
* name: "vpn-tunnel-2-spoke",
|
|
228
|
+
* location: "us-central1",
|
|
229
|
+
* description: "A sample spoke with a linked VPN Tunnel",
|
|
230
|
+
* labels: {
|
|
231
|
+
* "label-one": "value-one",
|
|
232
|
+
* },
|
|
233
|
+
* hub: basicHub.id,
|
|
234
|
+
* linkedVpnTunnels: {
|
|
235
|
+
* uris: [tunnel2.selfLink],
|
|
236
|
+
* siteToSiteDataTransfer: true,
|
|
237
|
+
* includeImportRanges: ["ALL_IPV4_RANGES"],
|
|
238
|
+
* },
|
|
239
|
+
* });
|
|
240
|
+
* ```
|
|
241
|
+
* ### Network Connectivity Spoke Interconnect Attachment Basic
|
|
242
|
+
*
|
|
243
|
+
* ```typescript
|
|
244
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
245
|
+
* import * as gcp from "@pulumi/gcp";
|
|
246
|
+
*
|
|
247
|
+
* const basicHub = new gcp.networkconnectivity.Hub("basic_hub", {
|
|
248
|
+
* name: "basic-hub1",
|
|
249
|
+
* description: "A sample hub",
|
|
250
|
+
* labels: {
|
|
251
|
+
* "label-two": "value-one",
|
|
252
|
+
* },
|
|
253
|
+
* });
|
|
254
|
+
* const network = new gcp.compute.Network("network", {
|
|
255
|
+
* name: "basic-network",
|
|
256
|
+
* autoCreateSubnetworks: false,
|
|
257
|
+
* });
|
|
258
|
+
* const router = new gcp.compute.Router("router", {
|
|
259
|
+
* name: "external-vpn-gateway",
|
|
260
|
+
* region: "us-central1",
|
|
261
|
+
* network: network.name,
|
|
262
|
+
* bgp: {
|
|
263
|
+
* asn: 16550,
|
|
264
|
+
* },
|
|
265
|
+
* });
|
|
266
|
+
* const interconnect_attachment = new gcp.compute.InterconnectAttachment("interconnect-attachment", {
|
|
267
|
+
* name: "partner-interconnect1",
|
|
268
|
+
* edgeAvailabilityDomain: "AVAILABILITY_DOMAIN_1",
|
|
269
|
+
* type: "PARTNER",
|
|
270
|
+
* router: router.id,
|
|
271
|
+
* mtu: "1500",
|
|
272
|
+
* region: "us-central1",
|
|
273
|
+
* });
|
|
274
|
+
* const primary = new gcp.networkconnectivity.Spoke("primary", {
|
|
275
|
+
* name: "interconnect-attachment-spoke",
|
|
276
|
+
* location: "us-central1",
|
|
277
|
+
* description: "A sample spoke with a linked Interconnect Attachment",
|
|
278
|
+
* labels: {
|
|
279
|
+
* "label-one": "value-one",
|
|
280
|
+
* },
|
|
281
|
+
* hub: basicHub.id,
|
|
282
|
+
* linkedInterconnectAttachments: {
|
|
283
|
+
* uris: [interconnect_attachment.selfLink],
|
|
284
|
+
* siteToSiteDataTransfer: true,
|
|
285
|
+
* includeImportRanges: ["ALL_IPV4_RANGES"],
|
|
112
286
|
* },
|
|
113
287
|
* });
|
|
114
288
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spoke.js","sourceRoot":"","sources":["../../networkconnectivity/spoke.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"spoke.js","sourceRoot":"","sources":["../../networkconnectivity/spoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import * as outputs from "../types/output";
|
|
|
6
6
|
*
|
|
7
7
|
* To get more information about SecurityProfile, see:
|
|
8
8
|
*
|
|
9
|
-
* * [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/
|
|
9
|
+
* * [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/organizations.locations.securityProfiles)
|
|
10
10
|
* * How-to Guides
|
|
11
11
|
* * [Create and manage security profiles](https://cloud.google.com/firewall/docs/configure-security-profiles)
|
|
12
12
|
*
|
|
@@ -10,7 +10,7 @@ const utilities = require("../utilities");
|
|
|
10
10
|
*
|
|
11
11
|
* To get more information about SecurityProfile, see:
|
|
12
12
|
*
|
|
13
|
-
* * [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/
|
|
13
|
+
* * [API documentation](https://cloud.google.com/firewall/docs/reference/network-security/rest/v1/organizations.locations.securityProfiles)
|
|
14
14
|
* * How-to Guides
|
|
15
15
|
* * [Create and manage security profiles](https://cloud.google.com/firewall/docs/configure-security-profiles)
|
|
16
16
|
*
|