@pulumi/gcp 7.12.0 → 7.13.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/appengine/applicationUrlDispatchRules.d.ts +1 -1
- package/appengine/applicationUrlDispatchRules.js +1 -1
- package/appengine/engineSplitTraffic.d.ts +2 -2
- package/appengine/engineSplitTraffic.js +2 -2
- package/appengine/serviceNetworkSettings.d.ts +1 -1
- package/appengine/serviceNetworkSettings.js +1 -1
- package/appengine/standardAppVersion.d.ts +2 -2
- package/appengine/standardAppVersion.js +2 -2
- package/bigquery/routine.d.ts +49 -6
- package/bigquery/routine.js +36 -6
- package/bigquery/routine.js.map +1 -1
- package/certificatemanager/dnsAuthorization.d.ts +20 -7
- package/certificatemanager/dnsAuthorization.js +10 -7
- package/certificatemanager/dnsAuthorization.js.map +1 -1
- package/clouddeploy/automation.d.ts +8 -0
- package/clouddeploy/automation.js +8 -0
- package/clouddeploy/automation.js.map +1 -1
- package/clouddeploy/getTargetIamPolicy.d.ts +86 -0
- package/clouddeploy/getTargetIamPolicy.js +53 -0
- package/clouddeploy/getTargetIamPolicy.js.map +1 -0
- package/clouddeploy/index.d.ts +12 -0
- package/clouddeploy/index.js +19 -1
- package/clouddeploy/index.js.map +1 -1
- package/clouddeploy/targetIamBinding.d.ts +58 -0
- package/clouddeploy/targetIamBinding.js +67 -0
- package/clouddeploy/targetIamBinding.js.map +1 -0
- package/clouddeploy/targetIamMember.d.ts +58 -0
- package/clouddeploy/targetIamMember.js +67 -0
- package/clouddeploy/targetIamMember.js.map +1 -0
- package/clouddeploy/targetIamPolicy.d.ts +50 -0
- package/clouddeploy/targetIamPolicy.js +60 -0
- package/clouddeploy/targetIamPolicy.js.map +1 -0
- package/compute/regionTargetHttpsProxy.d.ts +69 -11
- package/compute/regionTargetHttpsProxy.js +39 -3
- package/compute/regionTargetHttpsProxy.js.map +1 -1
- package/gkehub/scope.d.ts +35 -0
- package/gkehub/scope.js +7 -0
- package/gkehub/scope.js.map +1 -1
- package/monitoring/getAppEngineService.d.ts +2 -2
- package/monitoring/getAppEngineService.js +2 -2
- package/package.json +1 -1
- package/spanner/databaseIAMBinding.d.ts +74 -0
- package/spanner/databaseIAMBinding.js +62 -0
- package/spanner/databaseIAMBinding.js.map +1 -1
- package/spanner/databaseIAMMember.d.ts +74 -0
- package/spanner/databaseIAMMember.js +62 -0
- package/spanner/databaseIAMMember.js.map +1 -1
- package/spanner/databaseIAMPolicy.d.ts +62 -0
- package/spanner/databaseIAMPolicy.js +62 -0
- package/spanner/databaseIAMPolicy.js.map +1 -1
- package/types/input.d.ts +57 -2
- package/types/output.d.ts +65 -5
|
@@ -67,6 +67,43 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
67
67
|
* sslCertificates: [defaultRegionSslCertificate.id],
|
|
68
68
|
* });
|
|
69
69
|
* ```
|
|
70
|
+
* ### Region Target Https Proxy Certificate Manager Certificate
|
|
71
|
+
*
|
|
72
|
+
* ```typescript
|
|
73
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
74
|
+
* import * as gcp from "@pulumi/gcp";
|
|
75
|
+
* import * as std from "@pulumi/std";
|
|
76
|
+
*
|
|
77
|
+
* const defaultCertificate = new gcp.certificatemanager.Certificate("default", {
|
|
78
|
+
* name: "my-certificate",
|
|
79
|
+
* location: "us-central1",
|
|
80
|
+
* selfManaged: {
|
|
81
|
+
* pemCertificate: std.file({
|
|
82
|
+
* input: "test-fixtures/cert.pem",
|
|
83
|
+
* }).then(invoke => invoke.result),
|
|
84
|
+
* pemPrivateKey: std.file({
|
|
85
|
+
* input: "test-fixtures/private-key.pem",
|
|
86
|
+
* }).then(invoke => invoke.result),
|
|
87
|
+
* },
|
|
88
|
+
* });
|
|
89
|
+
* const defaultRegionBackendService = new gcp.compute.RegionBackendService("default", {
|
|
90
|
+
* name: "backend-service",
|
|
91
|
+
* region: "us-central1",
|
|
92
|
+
* protocol: "HTTPS",
|
|
93
|
+
* timeoutSec: 30,
|
|
94
|
+
* loadBalancingScheme: "INTERNAL_MANAGED",
|
|
95
|
+
* });
|
|
96
|
+
* const defaultRegionUrlMap = new gcp.compute.RegionUrlMap("default", {
|
|
97
|
+
* name: "url-map",
|
|
98
|
+
* defaultService: defaultRegionBackendService.id,
|
|
99
|
+
* region: "us-central1",
|
|
100
|
+
* });
|
|
101
|
+
* const _default = new gcp.compute.RegionTargetHttpsProxy("default", {
|
|
102
|
+
* name: "target-http-proxy",
|
|
103
|
+
* urlMap: defaultRegionUrlMap.id,
|
|
104
|
+
* certificateManagerCertificates: [pulumi.interpolate`//certificatemanager.googleapis.com/${defaultCertificate.id}`],
|
|
105
|
+
* });
|
|
106
|
+
* ```
|
|
70
107
|
*
|
|
71
108
|
* ## Import
|
|
72
109
|
*
|
|
@@ -114,6 +151,13 @@ export declare class RegionTargetHttpsProxy extends pulumi.CustomResource {
|
|
|
114
151
|
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
115
152
|
*/
|
|
116
153
|
static isInstance(obj: any): obj is RegionTargetHttpsProxy;
|
|
154
|
+
/**
|
|
155
|
+
* URLs to certificate manager certificate resources that are used to authenticate connections between users and the load balancer.
|
|
156
|
+
* Currently, you may specify up to 15 certificates. Certificate manager certificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
|
|
157
|
+
* sslCertificates and certificateManagerCertificates fields can not be defined together.
|
|
158
|
+
* Accepted format is `//certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificates/{resourceName}` or just the selfLink `projects/{project}/locations/{location}/certificates/{resourceName}`
|
|
159
|
+
*/
|
|
160
|
+
readonly certificateManagerCertificates: pulumi.Output<string[] | undefined>;
|
|
117
161
|
/**
|
|
118
162
|
* Creation timestamp in RFC3339 text format.
|
|
119
163
|
*/
|
|
@@ -151,11 +195,11 @@ export declare class RegionTargetHttpsProxy extends pulumi.CustomResource {
|
|
|
151
195
|
*/
|
|
152
196
|
readonly selfLink: pulumi.Output<string>;
|
|
153
197
|
/**
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
*
|
|
198
|
+
* URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer.
|
|
199
|
+
* At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
|
|
200
|
+
* sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
|
|
157
201
|
*/
|
|
158
|
-
readonly sslCertificates: pulumi.Output<string[]>;
|
|
202
|
+
readonly sslCertificates: pulumi.Output<string[] | undefined>;
|
|
159
203
|
/**
|
|
160
204
|
* A reference to the Region SslPolicy resource that will be associated with
|
|
161
205
|
* the TargetHttpsProxy resource. If not set, the TargetHttpsProxy
|
|
@@ -183,6 +227,13 @@ export declare class RegionTargetHttpsProxy extends pulumi.CustomResource {
|
|
|
183
227
|
* Input properties used for looking up and filtering RegionTargetHttpsProxy resources.
|
|
184
228
|
*/
|
|
185
229
|
export interface RegionTargetHttpsProxyState {
|
|
230
|
+
/**
|
|
231
|
+
* URLs to certificate manager certificate resources that are used to authenticate connections between users and the load balancer.
|
|
232
|
+
* Currently, you may specify up to 15 certificates. Certificate manager certificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
|
|
233
|
+
* sslCertificates and certificateManagerCertificates fields can not be defined together.
|
|
234
|
+
* Accepted format is `//certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificates/{resourceName}` or just the selfLink `projects/{project}/locations/{location}/certificates/{resourceName}`
|
|
235
|
+
*/
|
|
236
|
+
certificateManagerCertificates?: pulumi.Input<pulumi.Input<string>[]>;
|
|
186
237
|
/**
|
|
187
238
|
* Creation timestamp in RFC3339 text format.
|
|
188
239
|
*/
|
|
@@ -220,9 +271,9 @@ export interface RegionTargetHttpsProxyState {
|
|
|
220
271
|
*/
|
|
221
272
|
selfLink?: pulumi.Input<string>;
|
|
222
273
|
/**
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
274
|
+
* URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer.
|
|
275
|
+
* At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
|
|
276
|
+
* sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
|
|
226
277
|
*/
|
|
227
278
|
sslCertificates?: pulumi.Input<pulumi.Input<string>[]>;
|
|
228
279
|
/**
|
|
@@ -244,6 +295,13 @@ export interface RegionTargetHttpsProxyState {
|
|
|
244
295
|
* The set of arguments for constructing a RegionTargetHttpsProxy resource.
|
|
245
296
|
*/
|
|
246
297
|
export interface RegionTargetHttpsProxyArgs {
|
|
298
|
+
/**
|
|
299
|
+
* URLs to certificate manager certificate resources that are used to authenticate connections between users and the load balancer.
|
|
300
|
+
* Currently, you may specify up to 15 certificates. Certificate manager certificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
|
|
301
|
+
* sslCertificates and certificateManagerCertificates fields can not be defined together.
|
|
302
|
+
* Accepted format is `//certificatemanager.googleapis.com/projects/{project}/locations/{location}/certificates/{resourceName}` or just the selfLink `projects/{project}/locations/{location}/certificates/{resourceName}`
|
|
303
|
+
*/
|
|
304
|
+
certificateManagerCertificates?: pulumi.Input<pulumi.Input<string>[]>;
|
|
247
305
|
/**
|
|
248
306
|
* An optional description of this resource.
|
|
249
307
|
*/
|
|
@@ -269,11 +327,11 @@ export interface RegionTargetHttpsProxyArgs {
|
|
|
269
327
|
*/
|
|
270
328
|
region?: pulumi.Input<string>;
|
|
271
329
|
/**
|
|
272
|
-
*
|
|
273
|
-
*
|
|
274
|
-
*
|
|
330
|
+
* URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer.
|
|
331
|
+
* At least one SSL certificate must be specified. Currently, you may specify up to 15 SSL certificates.
|
|
332
|
+
* sslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED.
|
|
275
333
|
*/
|
|
276
|
-
sslCertificates
|
|
334
|
+
sslCertificates?: pulumi.Input<pulumi.Input<string>[]>;
|
|
277
335
|
/**
|
|
278
336
|
* A reference to the Region SslPolicy resource that will be associated with
|
|
279
337
|
* the TargetHttpsProxy resource. If not set, the TargetHttpsProxy
|
|
@@ -73,6 +73,43 @@ const utilities = require("../utilities");
|
|
|
73
73
|
* sslCertificates: [defaultRegionSslCertificate.id],
|
|
74
74
|
* });
|
|
75
75
|
* ```
|
|
76
|
+
* ### Region Target Https Proxy Certificate Manager Certificate
|
|
77
|
+
*
|
|
78
|
+
* ```typescript
|
|
79
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
80
|
+
* import * as gcp from "@pulumi/gcp";
|
|
81
|
+
* import * as std from "@pulumi/std";
|
|
82
|
+
*
|
|
83
|
+
* const defaultCertificate = new gcp.certificatemanager.Certificate("default", {
|
|
84
|
+
* name: "my-certificate",
|
|
85
|
+
* location: "us-central1",
|
|
86
|
+
* selfManaged: {
|
|
87
|
+
* pemCertificate: std.file({
|
|
88
|
+
* input: "test-fixtures/cert.pem",
|
|
89
|
+
* }).then(invoke => invoke.result),
|
|
90
|
+
* pemPrivateKey: std.file({
|
|
91
|
+
* input: "test-fixtures/private-key.pem",
|
|
92
|
+
* }).then(invoke => invoke.result),
|
|
93
|
+
* },
|
|
94
|
+
* });
|
|
95
|
+
* const defaultRegionBackendService = new gcp.compute.RegionBackendService("default", {
|
|
96
|
+
* name: "backend-service",
|
|
97
|
+
* region: "us-central1",
|
|
98
|
+
* protocol: "HTTPS",
|
|
99
|
+
* timeoutSec: 30,
|
|
100
|
+
* loadBalancingScheme: "INTERNAL_MANAGED",
|
|
101
|
+
* });
|
|
102
|
+
* const defaultRegionUrlMap = new gcp.compute.RegionUrlMap("default", {
|
|
103
|
+
* name: "url-map",
|
|
104
|
+
* defaultService: defaultRegionBackendService.id,
|
|
105
|
+
* region: "us-central1",
|
|
106
|
+
* });
|
|
107
|
+
* const _default = new gcp.compute.RegionTargetHttpsProxy("default", {
|
|
108
|
+
* name: "target-http-proxy",
|
|
109
|
+
* urlMap: defaultRegionUrlMap.id,
|
|
110
|
+
* certificateManagerCertificates: [pulumi.interpolate`//certificatemanager.googleapis.com/${defaultCertificate.id}`],
|
|
111
|
+
* });
|
|
112
|
+
* ```
|
|
76
113
|
*
|
|
77
114
|
* ## Import
|
|
78
115
|
*
|
|
@@ -132,6 +169,7 @@ class RegionTargetHttpsProxy extends pulumi.CustomResource {
|
|
|
132
169
|
opts = opts || {};
|
|
133
170
|
if (opts.id) {
|
|
134
171
|
const state = argsOrState;
|
|
172
|
+
resourceInputs["certificateManagerCertificates"] = state ? state.certificateManagerCertificates : undefined;
|
|
135
173
|
resourceInputs["creationTimestamp"] = state ? state.creationTimestamp : undefined;
|
|
136
174
|
resourceInputs["description"] = state ? state.description : undefined;
|
|
137
175
|
resourceInputs["name"] = state ? state.name : undefined;
|
|
@@ -145,12 +183,10 @@ class RegionTargetHttpsProxy extends pulumi.CustomResource {
|
|
|
145
183
|
}
|
|
146
184
|
else {
|
|
147
185
|
const args = argsOrState;
|
|
148
|
-
if ((!args || args.sslCertificates === undefined) && !opts.urn) {
|
|
149
|
-
throw new Error("Missing required property 'sslCertificates'");
|
|
150
|
-
}
|
|
151
186
|
if ((!args || args.urlMap === undefined) && !opts.urn) {
|
|
152
187
|
throw new Error("Missing required property 'urlMap'");
|
|
153
188
|
}
|
|
189
|
+
resourceInputs["certificateManagerCertificates"] = args ? args.certificateManagerCertificates : undefined;
|
|
154
190
|
resourceInputs["description"] = args ? args.description : undefined;
|
|
155
191
|
resourceInputs["name"] = args ? args.name : undefined;
|
|
156
192
|
resourceInputs["project"] = args ? args.project : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regionTargetHttpsProxy.js","sourceRoot":"","sources":["../../compute/regionTargetHttpsProxy.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"regionTargetHttpsProxy.js","sourceRoot":"","sources":["../../compute/regionTargetHttpsProxy.ts"],"names":[],"mappings":"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"}
|
package/gkehub/scope.d.ts
CHANGED
|
@@ -19,6 +19,11 @@ import * as outputs from "../types/output";
|
|
|
19
19
|
*
|
|
20
20
|
* const scope = new gcp.gkehub.Scope("scope", {
|
|
21
21
|
* scopeId: "my-scope",
|
|
22
|
+
* namespaceLabels: {
|
|
23
|
+
* keyb: "valueb",
|
|
24
|
+
* keya: "valuea",
|
|
25
|
+
* keyc: "valuec",
|
|
26
|
+
* },
|
|
22
27
|
* labels: {
|
|
23
28
|
* keyb: "valueb",
|
|
24
29
|
* keya: "valuea",
|
|
@@ -94,6 +99,16 @@ export declare class Scope extends pulumi.CustomResource {
|
|
|
94
99
|
* The unique identifier of the scope
|
|
95
100
|
*/
|
|
96
101
|
readonly name: pulumi.Output<string>;
|
|
102
|
+
/**
|
|
103
|
+
* Scope-level cluster namespace labels. For the member clusters bound
|
|
104
|
+
* to the Scope, these labels are applied to each namespace under the
|
|
105
|
+
* Scope. Scope-level labels take precedence over Namespace-level
|
|
106
|
+
* labels (`namespaceLabels` in the Fleet Namespace resource) if they
|
|
107
|
+
* share a key. Keys and values must be Kubernetes-conformant.
|
|
108
|
+
*/
|
|
109
|
+
readonly namespaceLabels: pulumi.Output<{
|
|
110
|
+
[key: string]: string;
|
|
111
|
+
} | undefined>;
|
|
97
112
|
/**
|
|
98
113
|
* The ID of the project in which the resource belongs.
|
|
99
114
|
* If it is not provided, the provider project is used.
|
|
@@ -166,6 +181,16 @@ export interface ScopeState {
|
|
|
166
181
|
* The unique identifier of the scope
|
|
167
182
|
*/
|
|
168
183
|
name?: pulumi.Input<string>;
|
|
184
|
+
/**
|
|
185
|
+
* Scope-level cluster namespace labels. For the member clusters bound
|
|
186
|
+
* to the Scope, these labels are applied to each namespace under the
|
|
187
|
+
* Scope. Scope-level labels take precedence over Namespace-level
|
|
188
|
+
* labels (`namespaceLabels` in the Fleet Namespace resource) if they
|
|
189
|
+
* share a key. Keys and values must be Kubernetes-conformant.
|
|
190
|
+
*/
|
|
191
|
+
namespaceLabels?: pulumi.Input<{
|
|
192
|
+
[key: string]: pulumi.Input<string>;
|
|
193
|
+
}>;
|
|
169
194
|
/**
|
|
170
195
|
* The ID of the project in which the resource belongs.
|
|
171
196
|
* If it is not provided, the provider project is used.
|
|
@@ -212,6 +237,16 @@ export interface ScopeArgs {
|
|
|
212
237
|
labels?: pulumi.Input<{
|
|
213
238
|
[key: string]: pulumi.Input<string>;
|
|
214
239
|
}>;
|
|
240
|
+
/**
|
|
241
|
+
* Scope-level cluster namespace labels. For the member clusters bound
|
|
242
|
+
* to the Scope, these labels are applied to each namespace under the
|
|
243
|
+
* Scope. Scope-level labels take precedence over Namespace-level
|
|
244
|
+
* labels (`namespaceLabels` in the Fleet Namespace resource) if they
|
|
245
|
+
* share a key. Keys and values must be Kubernetes-conformant.
|
|
246
|
+
*/
|
|
247
|
+
namespaceLabels?: pulumi.Input<{
|
|
248
|
+
[key: string]: pulumi.Input<string>;
|
|
249
|
+
}>;
|
|
215
250
|
/**
|
|
216
251
|
* The ID of the project in which the resource belongs.
|
|
217
252
|
* If it is not provided, the provider project is used.
|
package/gkehub/scope.js
CHANGED
|
@@ -23,6 +23,11 @@ const utilities = require("../utilities");
|
|
|
23
23
|
*
|
|
24
24
|
* const scope = new gcp.gkehub.Scope("scope", {
|
|
25
25
|
* scopeId: "my-scope",
|
|
26
|
+
* namespaceLabels: {
|
|
27
|
+
* keyb: "valueb",
|
|
28
|
+
* keya: "valuea",
|
|
29
|
+
* keyc: "valuec",
|
|
30
|
+
* },
|
|
26
31
|
* labels: {
|
|
27
32
|
* keyb: "valueb",
|
|
28
33
|
* keya: "valuea",
|
|
@@ -88,6 +93,7 @@ class Scope extends pulumi.CustomResource {
|
|
|
88
93
|
resourceInputs["effectiveLabels"] = state ? state.effectiveLabels : undefined;
|
|
89
94
|
resourceInputs["labels"] = state ? state.labels : undefined;
|
|
90
95
|
resourceInputs["name"] = state ? state.name : undefined;
|
|
96
|
+
resourceInputs["namespaceLabels"] = state ? state.namespaceLabels : undefined;
|
|
91
97
|
resourceInputs["project"] = state ? state.project : undefined;
|
|
92
98
|
resourceInputs["pulumiLabels"] = state ? state.pulumiLabels : undefined;
|
|
93
99
|
resourceInputs["scopeId"] = state ? state.scopeId : undefined;
|
|
@@ -101,6 +107,7 @@ class Scope extends pulumi.CustomResource {
|
|
|
101
107
|
throw new Error("Missing required property 'scopeId'");
|
|
102
108
|
}
|
|
103
109
|
resourceInputs["labels"] = args ? args.labels : undefined;
|
|
110
|
+
resourceInputs["namespaceLabels"] = args ? args.namespaceLabels : undefined;
|
|
104
111
|
resourceInputs["project"] = args ? args.project : undefined;
|
|
105
112
|
resourceInputs["scopeId"] = args ? args.scopeId : undefined;
|
|
106
113
|
resourceInputs["createTime"] = undefined /*out*/;
|
package/gkehub/scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../gkehub/scope.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../gkehub/scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ import * as outputs from "../types/output";
|
|
|
34
34
|
* const myapp = new gcp.appengine.StandardAppVersion("myapp", {
|
|
35
35
|
* versionId: "v1",
|
|
36
36
|
* service: "myapp",
|
|
37
|
-
* runtime: "
|
|
37
|
+
* runtime: "nodejs20",
|
|
38
38
|
* entrypoint: {
|
|
39
39
|
* shell: "node ./app.js",
|
|
40
40
|
* },
|
|
@@ -136,7 +136,7 @@ export interface GetAppEngineServiceResult {
|
|
|
136
136
|
* const myapp = new gcp.appengine.StandardAppVersion("myapp", {
|
|
137
137
|
* versionId: "v1",
|
|
138
138
|
* service: "myapp",
|
|
139
|
-
* runtime: "
|
|
139
|
+
* runtime: "nodejs20",
|
|
140
140
|
* entrypoint: {
|
|
141
141
|
* shell: "node ./app.js",
|
|
142
142
|
* },
|
|
@@ -39,7 +39,7 @@ const utilities = require("../utilities");
|
|
|
39
39
|
* const myapp = new gcp.appengine.StandardAppVersion("myapp", {
|
|
40
40
|
* versionId: "v1",
|
|
41
41
|
* service: "myapp",
|
|
42
|
-
* runtime: "
|
|
42
|
+
* runtime: "nodejs20",
|
|
43
43
|
* entrypoint: {
|
|
44
44
|
* shell: "node ./app.js",
|
|
45
45
|
* },
|
|
@@ -101,7 +101,7 @@ exports.getAppEngineService = getAppEngineService;
|
|
|
101
101
|
* const myapp = new gcp.appengine.StandardAppVersion("myapp", {
|
|
102
102
|
* versionId: "v1",
|
|
103
103
|
* service: "myapp",
|
|
104
|
-
* runtime: "
|
|
104
|
+
* runtime: "nodejs20",
|
|
105
105
|
* entrypoint: {
|
|
106
106
|
* shell: "node ./app.js",
|
|
107
107
|
* },
|
package/package.json
CHANGED
|
@@ -34,6 +34,30 @@ import * as outputs from "../types/output";
|
|
|
34
34
|
* });
|
|
35
35
|
* ```
|
|
36
36
|
*
|
|
37
|
+
* With IAM Conditions:
|
|
38
|
+
*
|
|
39
|
+
* ```typescript
|
|
40
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
41
|
+
* import * as gcp from "@pulumi/gcp";
|
|
42
|
+
*
|
|
43
|
+
* const admin = gcp.organizations.getIAMPolicy({
|
|
44
|
+
* bindings: [{
|
|
45
|
+
* role: "roles/editor",
|
|
46
|
+
* members: ["user:jane@example.com"],
|
|
47
|
+
* condition: {
|
|
48
|
+
* title: "My Role",
|
|
49
|
+
* description: "Grant permissions on my_role",
|
|
50
|
+
* expression: "(resource.type == \"spanner.googleapis.com/DatabaseRole\" && (resource.name.endsWith(\"/myrole\")))",
|
|
51
|
+
* },
|
|
52
|
+
* }],
|
|
53
|
+
* });
|
|
54
|
+
* const database = new gcp.spanner.DatabaseIAMPolicy("database", {
|
|
55
|
+
* instance: "your-instance-name",
|
|
56
|
+
* database: "your-database-name",
|
|
57
|
+
* policyData: admin.then(admin => admin.policyData),
|
|
58
|
+
* });
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
37
61
|
* ## google\_spanner\_database\_iam\_binding
|
|
38
62
|
*
|
|
39
63
|
* ```typescript
|
|
@@ -48,6 +72,25 @@ import * as outputs from "../types/output";
|
|
|
48
72
|
* });
|
|
49
73
|
* ```
|
|
50
74
|
*
|
|
75
|
+
* With IAM Conditions:
|
|
76
|
+
*
|
|
77
|
+
* ```typescript
|
|
78
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
79
|
+
* import * as gcp from "@pulumi/gcp";
|
|
80
|
+
*
|
|
81
|
+
* const database = new gcp.spanner.DatabaseIAMBinding("database", {
|
|
82
|
+
* instance: "your-instance-name",
|
|
83
|
+
* database: "your-database-name",
|
|
84
|
+
* role: "roles/compute.networkUser",
|
|
85
|
+
* members: ["user:jane@example.com"],
|
|
86
|
+
* condition: {
|
|
87
|
+
* title: "My Role",
|
|
88
|
+
* description: "Grant permissions on my_role",
|
|
89
|
+
* expression: "(resource.type == \"spanner.googleapis.com/DatabaseRole\" && (resource.name.endsWith(\"/myrole\")))",
|
|
90
|
+
* },
|
|
91
|
+
* });
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
51
94
|
* ## google\_spanner\_database\_iam\_member
|
|
52
95
|
*
|
|
53
96
|
* ```typescript
|
|
@@ -62,6 +105,25 @@ import * as outputs from "../types/output";
|
|
|
62
105
|
* });
|
|
63
106
|
* ```
|
|
64
107
|
*
|
|
108
|
+
* With IAM Conditions:
|
|
109
|
+
*
|
|
110
|
+
* ```typescript
|
|
111
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
112
|
+
* import * as gcp from "@pulumi/gcp";
|
|
113
|
+
*
|
|
114
|
+
* const database = new gcp.spanner.DatabaseIAMMember("database", {
|
|
115
|
+
* instance: "your-instance-name",
|
|
116
|
+
* database: "your-database-name",
|
|
117
|
+
* role: "roles/compute.networkUser",
|
|
118
|
+
* member: "user:jane@example.com",
|
|
119
|
+
* condition: {
|
|
120
|
+
* title: "My Role",
|
|
121
|
+
* description: "Grant permissions on my_role",
|
|
122
|
+
* expression: "(resource.type == \"spanner.googleapis.com/DatabaseRole\" && (resource.name.endsWith(\"/myrole\")))",
|
|
123
|
+
* },
|
|
124
|
+
* });
|
|
125
|
+
* ```
|
|
126
|
+
*
|
|
65
127
|
* ## Import
|
|
66
128
|
*
|
|
67
129
|
* ### Importing IAM policies
|
|
@@ -104,6 +166,10 @@ export declare class DatabaseIAMBinding extends pulumi.CustomResource {
|
|
|
104
166
|
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
105
167
|
*/
|
|
106
168
|
static isInstance(obj: any): obj is DatabaseIAMBinding;
|
|
169
|
+
/**
|
|
170
|
+
* An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
|
|
171
|
+
* Structure is documented below.
|
|
172
|
+
*/
|
|
107
173
|
readonly condition: pulumi.Output<outputs.spanner.DatabaseIAMBindingCondition | undefined>;
|
|
108
174
|
/**
|
|
109
175
|
* The name of the Spanner database.
|
|
@@ -151,6 +217,10 @@ export declare class DatabaseIAMBinding extends pulumi.CustomResource {
|
|
|
151
217
|
* Input properties used for looking up and filtering DatabaseIAMBinding resources.
|
|
152
218
|
*/
|
|
153
219
|
export interface DatabaseIAMBindingState {
|
|
220
|
+
/**
|
|
221
|
+
* An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
|
|
222
|
+
* Structure is documented below.
|
|
223
|
+
*/
|
|
154
224
|
condition?: pulumi.Input<inputs.spanner.DatabaseIAMBindingCondition>;
|
|
155
225
|
/**
|
|
156
226
|
* The name of the Spanner database.
|
|
@@ -190,6 +260,10 @@ export interface DatabaseIAMBindingState {
|
|
|
190
260
|
* The set of arguments for constructing a DatabaseIAMBinding resource.
|
|
191
261
|
*/
|
|
192
262
|
export interface DatabaseIAMBindingArgs {
|
|
263
|
+
/**
|
|
264
|
+
* An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
|
|
265
|
+
* Structure is documented below.
|
|
266
|
+
*/
|
|
193
267
|
condition?: pulumi.Input<inputs.spanner.DatabaseIAMBindingCondition>;
|
|
194
268
|
/**
|
|
195
269
|
* The name of the Spanner database.
|
|
@@ -38,6 +38,30 @@ const utilities = require("../utilities");
|
|
|
38
38
|
* });
|
|
39
39
|
* ```
|
|
40
40
|
*
|
|
41
|
+
* With IAM Conditions:
|
|
42
|
+
*
|
|
43
|
+
* ```typescript
|
|
44
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
45
|
+
* import * as gcp from "@pulumi/gcp";
|
|
46
|
+
*
|
|
47
|
+
* const admin = gcp.organizations.getIAMPolicy({
|
|
48
|
+
* bindings: [{
|
|
49
|
+
* role: "roles/editor",
|
|
50
|
+
* members: ["user:jane@example.com"],
|
|
51
|
+
* condition: {
|
|
52
|
+
* title: "My Role",
|
|
53
|
+
* description: "Grant permissions on my_role",
|
|
54
|
+
* expression: "(resource.type == \"spanner.googleapis.com/DatabaseRole\" && (resource.name.endsWith(\"/myrole\")))",
|
|
55
|
+
* },
|
|
56
|
+
* }],
|
|
57
|
+
* });
|
|
58
|
+
* const database = new gcp.spanner.DatabaseIAMPolicy("database", {
|
|
59
|
+
* instance: "your-instance-name",
|
|
60
|
+
* database: "your-database-name",
|
|
61
|
+
* policyData: admin.then(admin => admin.policyData),
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
41
65
|
* ## google\_spanner\_database\_iam\_binding
|
|
42
66
|
*
|
|
43
67
|
* ```typescript
|
|
@@ -52,6 +76,25 @@ const utilities = require("../utilities");
|
|
|
52
76
|
* });
|
|
53
77
|
* ```
|
|
54
78
|
*
|
|
79
|
+
* With IAM Conditions:
|
|
80
|
+
*
|
|
81
|
+
* ```typescript
|
|
82
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
83
|
+
* import * as gcp from "@pulumi/gcp";
|
|
84
|
+
*
|
|
85
|
+
* const database = new gcp.spanner.DatabaseIAMBinding("database", {
|
|
86
|
+
* instance: "your-instance-name",
|
|
87
|
+
* database: "your-database-name",
|
|
88
|
+
* role: "roles/compute.networkUser",
|
|
89
|
+
* members: ["user:jane@example.com"],
|
|
90
|
+
* condition: {
|
|
91
|
+
* title: "My Role",
|
|
92
|
+
* description: "Grant permissions on my_role",
|
|
93
|
+
* expression: "(resource.type == \"spanner.googleapis.com/DatabaseRole\" && (resource.name.endsWith(\"/myrole\")))",
|
|
94
|
+
* },
|
|
95
|
+
* });
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
55
98
|
* ## google\_spanner\_database\_iam\_member
|
|
56
99
|
*
|
|
57
100
|
* ```typescript
|
|
@@ -66,6 +109,25 @@ const utilities = require("../utilities");
|
|
|
66
109
|
* });
|
|
67
110
|
* ```
|
|
68
111
|
*
|
|
112
|
+
* With IAM Conditions:
|
|
113
|
+
*
|
|
114
|
+
* ```typescript
|
|
115
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
116
|
+
* import * as gcp from "@pulumi/gcp";
|
|
117
|
+
*
|
|
118
|
+
* const database = new gcp.spanner.DatabaseIAMMember("database", {
|
|
119
|
+
* instance: "your-instance-name",
|
|
120
|
+
* database: "your-database-name",
|
|
121
|
+
* role: "roles/compute.networkUser",
|
|
122
|
+
* member: "user:jane@example.com",
|
|
123
|
+
* condition: {
|
|
124
|
+
* title: "My Role",
|
|
125
|
+
* description: "Grant permissions on my_role",
|
|
126
|
+
* expression: "(resource.type == \"spanner.googleapis.com/DatabaseRole\" && (resource.name.endsWith(\"/myrole\")))",
|
|
127
|
+
* },
|
|
128
|
+
* });
|
|
129
|
+
* ```
|
|
130
|
+
*
|
|
69
131
|
* ## Import
|
|
70
132
|
*
|
|
71
133
|
* ### Importing IAM policies
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"databaseIAMBinding.js","sourceRoot":"","sources":["../../spanner/databaseIAMBinding.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAGzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"databaseIAMBinding.js","sourceRoot":"","sources":["../../spanner/databaseIAMBinding.ts"],"names":[],"mappings":"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"}
|