@pulumi/gcp 6.30.0 → 6.31.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/bigquery/connection.d.ts +14 -14
- package/bigquery/connection.js +14 -14
- package/bigquery/connectionIamBinding.d.ts +214 -0
- package/bigquery/connectionIamBinding.js +155 -0
- package/bigquery/connectionIamBinding.js.map +1 -0
- package/bigquery/connectionIamMember.d.ts +214 -0
- package/bigquery/connectionIamMember.js +155 -0
- package/bigquery/connectionIamMember.js.map +1 -0
- package/bigquery/connectionIamPolicy.d.ts +204 -0
- package/bigquery/connectionIamPolicy.js +148 -0
- package/bigquery/connectionIamPolicy.js.map +1 -0
- package/bigquery/index.d.ts +3 -0
- package/bigquery/index.js +15 -0
- package/bigquery/index.js.map +1 -1
- package/billing/budget.d.ts +46 -0
- package/billing/budget.js +46 -0
- package/billing/budget.js.map +1 -1
- package/certificateauthority/authority.d.ts +85 -23
- package/certificateauthority/authority.js +56 -17
- package/certificateauthority/authority.js.map +1 -1
- package/certificateauthority/certificate.d.ts +14 -5
- package/certificateauthority/certificate.js.map +1 -1
- package/certificateauthority/getAuthority.d.ts +2 -0
- package/certificateauthority/getAuthority.js.map +1 -1
- package/cloudfunctions/function.d.ts +4 -3
- package/cloudfunctions/function.js +1 -0
- package/cloudfunctions/function.js.map +1 -1
- package/cloudfunctionsv2/function.d.ts +6 -2
- package/cloudfunctionsv2/function.js +6 -2
- package/cloudfunctionsv2/function.js.map +1 -1
- package/cloudrun/service.d.ts +424 -0
- package/cloudrun/service.js +424 -0
- package/cloudrun/service.js.map +1 -1
- package/cloudtasks/index.d.ts +3 -0
- package/cloudtasks/index.js +15 -0
- package/cloudtasks/index.js.map +1 -1
- package/cloudtasks/queueIamBinding.d.ts +190 -0
- package/cloudtasks/queueIamBinding.js +149 -0
- package/cloudtasks/queueIamBinding.js.map +1 -0
- package/cloudtasks/queueIamMember.d.ts +190 -0
- package/cloudtasks/queueIamMember.js +149 -0
- package/cloudtasks/queueIamMember.js.map +1 -0
- package/cloudtasks/queueIamPolicy.d.ts +180 -0
- package/cloudtasks/queueIamPolicy.js +142 -0
- package/cloudtasks/queueIamPolicy.js.map +1 -0
- package/compute/globalForwardingRule.d.ts +17 -2
- package/compute/globalForwardingRule.js +17 -2
- package/compute/globalForwardingRule.js.map +1 -1
- package/compute/networkEndpointGroup.d.ts +6 -3
- package/compute/networkEndpointGroup.js.map +1 -1
- package/dataproc/autoscalingPolicyIamBinding.d.ts +208 -0
- package/dataproc/autoscalingPolicyIamBinding.js +155 -0
- package/dataproc/autoscalingPolicyIamBinding.js.map +1 -0
- package/dataproc/autoscalingPolicyIamMember.d.ts +208 -0
- package/dataproc/autoscalingPolicyIamMember.js +155 -0
- package/dataproc/autoscalingPolicyIamMember.js.map +1 -0
- package/dataproc/autoscalingPolicyIamPolicy.d.ts +198 -0
- package/dataproc/autoscalingPolicyIamPolicy.js +148 -0
- package/dataproc/autoscalingPolicyIamPolicy.js.map +1 -0
- package/dataproc/index.d.ts +6 -0
- package/dataproc/index.js +30 -0
- package/dataproc/index.js.map +1 -1
- package/dataproc/metastoreServiceIamBinding.d.ts +130 -0
- package/dataproc/metastoreServiceIamBinding.js +95 -0
- package/dataproc/metastoreServiceIamBinding.js.map +1 -0
- package/dataproc/metastoreServiceIamMember.d.ts +130 -0
- package/dataproc/metastoreServiceIamMember.js +95 -0
- package/dataproc/metastoreServiceIamMember.js.map +1 -0
- package/dataproc/metastoreServiceIamPolicy.d.ts +120 -0
- package/dataproc/metastoreServiceIamPolicy.js +88 -0
- package/dataproc/metastoreServiceIamPolicy.js.map +1 -0
- package/logging/projectSink.d.ts +80 -0
- package/logging/projectSink.js +80 -0
- package/logging/projectSink.js.map +1 -1
- package/monitoring/monitoredProject.d.ts +2 -6
- package/monitoring/monitoredProject.js +2 -6
- package/monitoring/monitoredProject.js.map +1 -1
- package/package.json +2 -2
- package/package.json.dev +2 -2
- package/projects/serviceIdentity.d.ts +4 -0
- package/projects/serviceIdentity.js +1 -1
- package/projects/serviceIdentity.js.map +1 -1
- package/redis/getInstance.d.ts +1 -0
- package/redis/getInstance.js.map +1 -1
- package/redis/instance.d.ts +42 -0
- package/redis/instance.js +29 -0
- package/redis/instance.js.map +1 -1
- package/spanner/database.d.ts +44 -12
- package/spanner/database.js +13 -0
- package/spanner/database.js.map +1 -1
- package/sql/getBackupRun.d.ts +11 -0
- package/sql/getBackupRun.js +1 -0
- package/sql/getBackupRun.js.map +1 -1
- package/types/input.d.ts +144 -7
- package/types/output.d.ts +162 -11
|
@@ -13,6 +13,7 @@ const utilities = require("../utilities");
|
|
|
13
13
|
* import * as pulumi from "@pulumi/pulumi";
|
|
14
14
|
* import * as gcp from "@pulumi/gcp";
|
|
15
15
|
*
|
|
16
|
+
* // [START functions_v2_basic]
|
|
16
17
|
* const bucket = new gcp.storage.Bucket("bucket", {
|
|
17
18
|
* location: "US",
|
|
18
19
|
* uniformBucketLevelAccess: true,
|
|
@@ -25,6 +26,7 @@ const utilities = require("../utilities");
|
|
|
25
26
|
* }, {
|
|
26
27
|
* provider: google_beta,
|
|
27
28
|
* });
|
|
29
|
+
* // Add path to the zipped function source code
|
|
28
30
|
* const terraform_test2 = new gcp.cloudfunctionsv2.Function("terraform-test2", {
|
|
29
31
|
* location: "us-central1",
|
|
30
32
|
* description: "a new function",
|
|
@@ -53,8 +55,9 @@ const utilities = require("../utilities");
|
|
|
53
55
|
* import * as pulumi from "@pulumi/pulumi";
|
|
54
56
|
* import * as gcp from "@pulumi/gcp";
|
|
55
57
|
*
|
|
58
|
+
* // [START functions_v2_full]
|
|
56
59
|
* const account = new gcp.serviceaccount.Account("account", {
|
|
57
|
-
* accountId: "
|
|
60
|
+
* accountId: "s-a",
|
|
58
61
|
* displayName: "Test Service Account",
|
|
59
62
|
* }, {
|
|
60
63
|
* provider: google_beta,
|
|
@@ -74,12 +77,13 @@ const utilities = require("../utilities");
|
|
|
74
77
|
* }, {
|
|
75
78
|
* provider: google_beta,
|
|
76
79
|
* });
|
|
80
|
+
* // Add path to the zipped function source code
|
|
77
81
|
* const terraform_test = new gcp.cloudfunctionsv2.Function("terraform-test", {
|
|
78
82
|
* location: "us-central1",
|
|
79
83
|
* description: "a new function",
|
|
80
84
|
* buildConfig: {
|
|
81
85
|
* runtime: "nodejs16",
|
|
82
|
-
* entryPoint: "
|
|
86
|
+
* entryPoint: "helloPubSub",
|
|
83
87
|
* environmentVariables: {
|
|
84
88
|
* BUILD_CONFIG_TEST: "build_test",
|
|
85
89
|
* },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../cloudfunctionsv2/function.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../cloudfunctionsv2/function.ts"],"names":[],"mappings":"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"}
|
package/cloudrun/service.d.ts
CHANGED
|
@@ -225,6 +225,84 @@ import { input as inputs, output as outputs } from "../types";
|
|
|
225
225
|
* ],
|
|
226
226
|
* });
|
|
227
227
|
* ```
|
|
228
|
+
* ### Cloud Run Service Scheduled
|
|
229
|
+
*
|
|
230
|
+
* ```typescript
|
|
231
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
232
|
+
* import * as gcp from "@pulumi/gcp";
|
|
233
|
+
*
|
|
234
|
+
* const runApi = new gcp.projects.Service("runApi", {
|
|
235
|
+
* project: "my-project-name",
|
|
236
|
+
* service: "run.googleapis.com",
|
|
237
|
+
* disableDependentServices: true,
|
|
238
|
+
* disableOnDestroy: false,
|
|
239
|
+
* });
|
|
240
|
+
* const iamApi = new gcp.projects.Service("iamApi", {
|
|
241
|
+
* project: "my-project-name",
|
|
242
|
+
* service: "iam.googleapis.com",
|
|
243
|
+
* disableOnDestroy: false,
|
|
244
|
+
* });
|
|
245
|
+
* const resourceManagerApi = new gcp.projects.Service("resourceManagerApi", {
|
|
246
|
+
* project: "my-project-name",
|
|
247
|
+
* service: "cloudresourcemanager.googleapis.com",
|
|
248
|
+
* disableOnDestroy: false,
|
|
249
|
+
* });
|
|
250
|
+
* const schedulerApi = new gcp.projects.Service("schedulerApi", {
|
|
251
|
+
* project: "my-project-name",
|
|
252
|
+
* service: "cloudscheduler.googleapis.com",
|
|
253
|
+
* disableOnDestroy: false,
|
|
254
|
+
* });
|
|
255
|
+
* const defaultService = new gcp.cloudrun.Service("defaultService", {
|
|
256
|
+
* project: "my-project-name",
|
|
257
|
+
* location: "us-central1",
|
|
258
|
+
* template: {
|
|
259
|
+
* spec: {
|
|
260
|
+
* containers: [{
|
|
261
|
+
* image: "us-docker.pkg.dev/cloudrun/container/hello",
|
|
262
|
+
* }],
|
|
263
|
+
* },
|
|
264
|
+
* },
|
|
265
|
+
* traffics: [{
|
|
266
|
+
* percent: 100,
|
|
267
|
+
* latestRevision: true,
|
|
268
|
+
* }],
|
|
269
|
+
* }, {
|
|
270
|
+
* dependsOn: [runApi],
|
|
271
|
+
* });
|
|
272
|
+
* const defaultAccount = new gcp.serviceaccount.Account("defaultAccount", {
|
|
273
|
+
* project: "my-project-name",
|
|
274
|
+
* accountId: "scheduler-sa",
|
|
275
|
+
* description: "Cloud Scheduler service account; used to trigger scheduled Cloud Run jobs.",
|
|
276
|
+
* displayName: "scheduler-sa",
|
|
277
|
+
* }, {
|
|
278
|
+
* dependsOn: [iamApi],
|
|
279
|
+
* });
|
|
280
|
+
* const defaultJob = new gcp.cloudscheduler.Job("defaultJob", {
|
|
281
|
+
* description: "Invoke a Cloud Run container on a schedule.",
|
|
282
|
+
* schedule: "*/8 * * * *",
|
|
283
|
+
* timeZone: "America/New_York",
|
|
284
|
+
* attemptDeadline: "320s",
|
|
285
|
+
* retryConfig: {
|
|
286
|
+
* retryCount: 1,
|
|
287
|
+
* },
|
|
288
|
+
* httpTarget: {
|
|
289
|
+
* httpMethod: "POST",
|
|
290
|
+
* uri: defaultService.statuses.apply(statuses => `${statuses[0].url}/`),
|
|
291
|
+
* oidcToken: {
|
|
292
|
+
* serviceAccountEmail: defaultAccount.email,
|
|
293
|
+
* },
|
|
294
|
+
* },
|
|
295
|
+
* }, {
|
|
296
|
+
* dependsOn: [schedulerApi],
|
|
297
|
+
* });
|
|
298
|
+
* const defaultIamMember = new gcp.cloudrun.IamMember("defaultIamMember", {
|
|
299
|
+
* project: "my-project-name",
|
|
300
|
+
* location: defaultService.location,
|
|
301
|
+
* service: defaultService.name,
|
|
302
|
+
* role: "roles/run.invoker",
|
|
303
|
+
* member: pulumi.interpolate`serviceAccount:${defaultAccount.email}`,
|
|
304
|
+
* });
|
|
305
|
+
* ```
|
|
228
306
|
* ### Cloud Run Service Secret Environment Variables
|
|
229
307
|
*
|
|
230
308
|
* ```typescript
|
|
@@ -344,6 +422,34 @@ import { input as inputs, output as outputs } from "../types";
|
|
|
344
422
|
* dependsOn: [secret_version_data],
|
|
345
423
|
* });
|
|
346
424
|
* ```
|
|
425
|
+
* ### Cloud Run Service Ingress
|
|
426
|
+
*
|
|
427
|
+
* ```typescript
|
|
428
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
429
|
+
* import * as gcp from "@pulumi/gcp";
|
|
430
|
+
*
|
|
431
|
+
* const defaultService = new gcp.cloudrun.Service("default", {
|
|
432
|
+
* location: "us-central1",
|
|
433
|
+
* metadata: {
|
|
434
|
+
* annotations: {
|
|
435
|
+
* // For valid annotation values and descriptions, see
|
|
436
|
+
* // https://cloud.google.com/sdk/gcloud/reference/run/deploy#--ingress
|
|
437
|
+
* "run.googleapis.com/ingress": "internal",
|
|
438
|
+
* },
|
|
439
|
+
* },
|
|
440
|
+
* template: {
|
|
441
|
+
* spec: {
|
|
442
|
+
* containers: [{
|
|
443
|
+
* image: "gcr.io/cloudrun/hello", //public image for your service
|
|
444
|
+
* }],
|
|
445
|
+
* },
|
|
446
|
+
* },
|
|
447
|
+
* traffics: [{
|
|
448
|
+
* latestRevision: true,
|
|
449
|
+
* percent: 100,
|
|
450
|
+
* }],
|
|
451
|
+
* });
|
|
452
|
+
* ```
|
|
347
453
|
* ### Eventarc Basic Tf
|
|
348
454
|
*
|
|
349
455
|
* ```typescript
|
|
@@ -447,6 +553,324 @@ import { input as inputs, output as outputs } from "../types";
|
|
|
447
553
|
* dependsOn: [eventarc],
|
|
448
554
|
* });
|
|
449
555
|
* ```
|
|
556
|
+
* ### Cloud Run Service Multiple Regions
|
|
557
|
+
*
|
|
558
|
+
* ```typescript
|
|
559
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
560
|
+
* import * as gcp from "@pulumi/gcp";
|
|
561
|
+
*
|
|
562
|
+
* // Cloud Run service replicated across multiple GCP regions
|
|
563
|
+
* const computeApi = new gcp.projects.Service("computeApi", {
|
|
564
|
+
* project: "my-project-name",
|
|
565
|
+
* service: "compute.googleapis.com",
|
|
566
|
+
* disableDependentServices: true,
|
|
567
|
+
* disableOnDestroy: false,
|
|
568
|
+
* });
|
|
569
|
+
* const runApi = new gcp.projects.Service("runApi", {
|
|
570
|
+
* project: "my-project-name",
|
|
571
|
+
* service: "run.googleapis.com",
|
|
572
|
+
* disableDependentServices: true,
|
|
573
|
+
* disableOnDestroy: false,
|
|
574
|
+
* });
|
|
575
|
+
* const config = new pulumi.Config();
|
|
576
|
+
* const domainName = config.get("domainName") || "example.com";
|
|
577
|
+
* const runRegions = config.getObject("runRegions") || [
|
|
578
|
+
* "us-central1",
|
|
579
|
+
* "europe-west1",
|
|
580
|
+
* ];
|
|
581
|
+
* const lbDefaultGlobalAddress = new gcp.compute.GlobalAddress("lbDefaultGlobalAddress", {project: "my-project-name"}, {
|
|
582
|
+
* dependsOn: [computeApi],
|
|
583
|
+
* });
|
|
584
|
+
* const runDefault: gcp.cloudrun.Service[];
|
|
585
|
+
* for (const range = {value: 0}; range.value < runRegions.length; range.value++) {
|
|
586
|
+
* runDefault.push(new gcp.cloudrun.Service(`runDefault-${range.value}`, {
|
|
587
|
+
* project: "my-project-name",
|
|
588
|
+
* location: runRegions[range.value],
|
|
589
|
+
* template: {
|
|
590
|
+
* spec: {
|
|
591
|
+
* containers: [{
|
|
592
|
+
* image: "us-docker.pkg.dev/cloudrun/container/hello",
|
|
593
|
+
* }],
|
|
594
|
+
* },
|
|
595
|
+
* },
|
|
596
|
+
* traffics: [{
|
|
597
|
+
* percent: 100,
|
|
598
|
+
* latestRevision: true,
|
|
599
|
+
* }],
|
|
600
|
+
* }, {
|
|
601
|
+
* dependsOn: [runApi],
|
|
602
|
+
* }));
|
|
603
|
+
* }
|
|
604
|
+
* const lbDefaultRegionNetworkEndpointGroup: gcp.compute.RegionNetworkEndpointGroup[];
|
|
605
|
+
* for (const range = {value: 0}; range.value < runRegions.length; range.value++) {
|
|
606
|
+
* lbDefaultRegionNetworkEndpointGroup.push(new gcp.compute.RegionNetworkEndpointGroup(`lbDefaultRegionNetworkEndpointGroup-${range.value}`, {
|
|
607
|
+
* project: "my-project-name",
|
|
608
|
+
* networkEndpointType: "SERVERLESS",
|
|
609
|
+
* region: runRegions[range.value],
|
|
610
|
+
* cloudRun: {
|
|
611
|
+
* service: runDefault[count.index].name,
|
|
612
|
+
* },
|
|
613
|
+
* }));
|
|
614
|
+
* }
|
|
615
|
+
* const lbDefaultBackendService = new gcp.compute.BackendService("lbDefaultBackendService", {
|
|
616
|
+
* project: "my-project-name",
|
|
617
|
+
* loadBalancingScheme: "EXTERNAL_MANAGED",
|
|
618
|
+
* backends: [
|
|
619
|
+
* {
|
|
620
|
+
* balancingMode: "UTILIZATION",
|
|
621
|
+
* capacityScaler: 0.85,
|
|
622
|
+
* group: lbDefaultRegionNetworkEndpointGroup[0].id,
|
|
623
|
+
* },
|
|
624
|
+
* {
|
|
625
|
+
* balancingMode: "UTILIZATION",
|
|
626
|
+
* capacityScaler: 0.85,
|
|
627
|
+
* group: lbDefaultRegionNetworkEndpointGroup[1].id,
|
|
628
|
+
* },
|
|
629
|
+
* ],
|
|
630
|
+
* }, {
|
|
631
|
+
* dependsOn: [computeApi],
|
|
632
|
+
* });
|
|
633
|
+
* const lbDefaultURLMap = new gcp.compute.URLMap("lbDefaultURLMap", {
|
|
634
|
+
* project: "my-project-name",
|
|
635
|
+
* defaultService: lbDefaultBackendService.id,
|
|
636
|
+
* pathMatchers: [{
|
|
637
|
+
* name: "allpaths",
|
|
638
|
+
* defaultService: lbDefaultBackendService.id,
|
|
639
|
+
* routeRules: [{
|
|
640
|
+
* priority: 1,
|
|
641
|
+
* urlRedirect: {
|
|
642
|
+
* httpsRedirect: true,
|
|
643
|
+
* redirectResponseCode: "MOVED_PERMANENTLY_DEFAULT",
|
|
644
|
+
* },
|
|
645
|
+
* }],
|
|
646
|
+
* }],
|
|
647
|
+
* });
|
|
648
|
+
* const lbDefaultManagedSslCertificate = new gcp.compute.ManagedSslCertificate("lbDefaultManagedSslCertificate", {
|
|
649
|
+
* project: "my-project-name",
|
|
650
|
+
* managed: {
|
|
651
|
+
* domains: [domainName],
|
|
652
|
+
* },
|
|
653
|
+
* });
|
|
654
|
+
* const lbDefaultTargetHttpsProxy = new gcp.compute.TargetHttpsProxy("lbDefaultTargetHttpsProxy", {
|
|
655
|
+
* project: "my-project-name",
|
|
656
|
+
* urlMap: lbDefaultURLMap.id,
|
|
657
|
+
* sslCertificates: [lbDefaultManagedSslCertificate.name],
|
|
658
|
+
* }, {
|
|
659
|
+
* dependsOn: [lbDefaultManagedSslCertificate],
|
|
660
|
+
* });
|
|
661
|
+
* const lbDefaultGlobalForwardingRule = new gcp.compute.GlobalForwardingRule("lbDefaultGlobalForwardingRule", {
|
|
662
|
+
* project: "my-project-name",
|
|
663
|
+
* loadBalancingScheme: "EXTERNAL_MANAGED",
|
|
664
|
+
* target: lbDefaultTargetHttpsProxy.id,
|
|
665
|
+
* ipAddress: lbDefaultGlobalAddress.id,
|
|
666
|
+
* portRange: "443",
|
|
667
|
+
* }, {
|
|
668
|
+
* dependsOn: [lbDefaultTargetHttpsProxy],
|
|
669
|
+
* });
|
|
670
|
+
* export const loadBalancerIpAddr = lbDefaultGlobalAddress.address;
|
|
671
|
+
* const runAllowUnauthenticated: gcp.cloudrun.IamMember[];
|
|
672
|
+
* for (const range = {value: 0}; range.value < runRegions.length; range.value++) {
|
|
673
|
+
* runAllowUnauthenticated.push(new gcp.cloudrun.IamMember(`runAllowUnauthenticated-${range.value}`, {
|
|
674
|
+
* project: "my-project-name",
|
|
675
|
+
* location: runDefault[range.value].location,
|
|
676
|
+
* service: runDefault[range.value].name,
|
|
677
|
+
* role: "roles/run.invoker",
|
|
678
|
+
* member: "allUsers",
|
|
679
|
+
* }));
|
|
680
|
+
* }
|
|
681
|
+
* const httpsDefaultURLMap = new gcp.compute.URLMap("httpsDefaultURLMap", {
|
|
682
|
+
* project: "my-project-name",
|
|
683
|
+
* defaultUrlRedirect: {
|
|
684
|
+
* redirectResponseCode: "MOVED_PERMANENTLY_DEFAULT",
|
|
685
|
+
* httpsRedirect: true,
|
|
686
|
+
* stripQuery: false,
|
|
687
|
+
* },
|
|
688
|
+
* });
|
|
689
|
+
* const httpsDefaultTargetHttpProxy = new gcp.compute.TargetHttpProxy("httpsDefaultTargetHttpProxy", {
|
|
690
|
+
* project: "my-project-name",
|
|
691
|
+
* urlMap: httpsDefaultURLMap.id,
|
|
692
|
+
* }, {
|
|
693
|
+
* dependsOn: [httpsDefaultURLMap],
|
|
694
|
+
* });
|
|
695
|
+
* const httpsDefaultGlobalForwardingRule = new gcp.compute.GlobalForwardingRule("httpsDefaultGlobalForwardingRule", {
|
|
696
|
+
* project: "my-project-name",
|
|
697
|
+
* target: httpsDefaultTargetHttpProxy.id,
|
|
698
|
+
* ipAddress: lbDefaultGlobalAddress.id,
|
|
699
|
+
* portRange: "80",
|
|
700
|
+
* }, {
|
|
701
|
+
* dependsOn: [httpsDefaultTargetHttpProxy],
|
|
702
|
+
* });
|
|
703
|
+
* ```
|
|
704
|
+
* ### Cloud Run Service Remove Tag
|
|
705
|
+
*
|
|
706
|
+
* ```typescript
|
|
707
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
708
|
+
* import * as gcp from "@pulumi/gcp";
|
|
709
|
+
*
|
|
710
|
+
* const defaultService = new gcp.cloudrun.Service("default", {
|
|
711
|
+
* location: "us-central1",
|
|
712
|
+
* template: {},
|
|
713
|
+
* traffics: [
|
|
714
|
+
* {
|
|
715
|
+
* percent: 100,
|
|
716
|
+
* // This revision needs to already exist
|
|
717
|
+
* revisionName: "cloudrun-srv-green",
|
|
718
|
+
* },
|
|
719
|
+
* {
|
|
720
|
+
* // No tags for this revision
|
|
721
|
+
* // Keep revision at 0% traffic
|
|
722
|
+
* percent: 0,
|
|
723
|
+
* // This revision needs to already exist
|
|
724
|
+
* revisionName: "cloudrun-srv-blue",
|
|
725
|
+
* },
|
|
726
|
+
* ],
|
|
727
|
+
* });
|
|
728
|
+
* ```
|
|
729
|
+
* ### Cloud Run Service Deploy Tag
|
|
730
|
+
*
|
|
731
|
+
* ```typescript
|
|
732
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
733
|
+
* import * as gcp from "@pulumi/gcp";
|
|
734
|
+
*
|
|
735
|
+
* const defaultService = new gcp.cloudrun.Service("default", {
|
|
736
|
+
* location: "us-central1",
|
|
737
|
+
* template: {
|
|
738
|
+
* metadata: {
|
|
739
|
+
* name: "cloudrun-srv-blue",
|
|
740
|
+
* },
|
|
741
|
+
* spec: {
|
|
742
|
+
* containers: [{
|
|
743
|
+
* // image or tag must be different from previous revision
|
|
744
|
+
* image: "us-docker.pkg.dev/cloudrun/container/hello",
|
|
745
|
+
* }],
|
|
746
|
+
* },
|
|
747
|
+
* },
|
|
748
|
+
* traffics: [
|
|
749
|
+
* {
|
|
750
|
+
* percent: 100,
|
|
751
|
+
* // This revision needs to already exist
|
|
752
|
+
* revisionName: "cloudrun-srv-green",
|
|
753
|
+
* },
|
|
754
|
+
* {
|
|
755
|
+
* // Deploy new revision with 0% traffic
|
|
756
|
+
* percent: 0,
|
|
757
|
+
* revisionName: "cloudrun-srv-blue",
|
|
758
|
+
* tag: "tag-name",
|
|
759
|
+
* },
|
|
760
|
+
* ],
|
|
761
|
+
* });
|
|
762
|
+
* ```
|
|
763
|
+
* ### Cloud Run Service Add Tag
|
|
764
|
+
*
|
|
765
|
+
* ```typescript
|
|
766
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
767
|
+
* import * as gcp from "@pulumi/gcp";
|
|
768
|
+
*
|
|
769
|
+
* const defaultService = new gcp.cloudrun.Service("default", {
|
|
770
|
+
* location: "us-central1",
|
|
771
|
+
* template: {},
|
|
772
|
+
* traffics: [
|
|
773
|
+
* {
|
|
774
|
+
* percent: 100,
|
|
775
|
+
* // This revision needs to already exist
|
|
776
|
+
* revisionName: "cloudrun-srv-green",
|
|
777
|
+
* },
|
|
778
|
+
* {
|
|
779
|
+
* // Deploy new revision with 0% traffic
|
|
780
|
+
* percent: 0,
|
|
781
|
+
* revisionName: "cloudrun-srv-blue",
|
|
782
|
+
* tag: "tag-name",
|
|
783
|
+
* },
|
|
784
|
+
* ],
|
|
785
|
+
* });
|
|
786
|
+
* ```
|
|
787
|
+
* ### Cloud Run Service Traffic Gradual Rollout
|
|
788
|
+
*
|
|
789
|
+
* ```typescript
|
|
790
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
791
|
+
* import * as gcp from "@pulumi/gcp";
|
|
792
|
+
*
|
|
793
|
+
* const defaultService = new gcp.cloudrun.Service("default", {
|
|
794
|
+
* autogenerateRevisionName: true,
|
|
795
|
+
* location: "us-central1",
|
|
796
|
+
* template: {
|
|
797
|
+
* spec: {
|
|
798
|
+
* containers: [{
|
|
799
|
+
* // Image or image tag must be different from previous revision
|
|
800
|
+
* image: "us-docker.pkg.dev/cloudrun/container/hello",
|
|
801
|
+
* }],
|
|
802
|
+
* },
|
|
803
|
+
* },
|
|
804
|
+
* traffics: [
|
|
805
|
+
* {
|
|
806
|
+
* percent: 100,
|
|
807
|
+
* // This revision needs to already exist
|
|
808
|
+
* revisionName: "cloudrun-srv-green",
|
|
809
|
+
* },
|
|
810
|
+
* {
|
|
811
|
+
* latestRevision: true,
|
|
812
|
+
* // Deploy new revision with 0% traffic
|
|
813
|
+
* percent: 0,
|
|
814
|
+
* },
|
|
815
|
+
* ],
|
|
816
|
+
* });
|
|
817
|
+
* ```
|
|
818
|
+
* ### Cloud Run Service Traffic Latest Revision
|
|
819
|
+
*
|
|
820
|
+
* ```typescript
|
|
821
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
822
|
+
* import * as gcp from "@pulumi/gcp";
|
|
823
|
+
*
|
|
824
|
+
* const defaultService = new gcp.cloudrun.Service("default", {
|
|
825
|
+
* location: "us-central1",
|
|
826
|
+
* template: {},
|
|
827
|
+
* traffics: [{
|
|
828
|
+
* latestRevision: true,
|
|
829
|
+
* percent: 100,
|
|
830
|
+
* }],
|
|
831
|
+
* });
|
|
832
|
+
* ```
|
|
833
|
+
* ### Cloud Run Service Traffic Rollback
|
|
834
|
+
*
|
|
835
|
+
* ```typescript
|
|
836
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
837
|
+
* import * as gcp from "@pulumi/gcp";
|
|
838
|
+
*
|
|
839
|
+
* const defaultService = new gcp.cloudrun.Service("default", {
|
|
840
|
+
* location: "us-central1",
|
|
841
|
+
* template: {},
|
|
842
|
+
* traffics: [{
|
|
843
|
+
* percent: 100,
|
|
844
|
+
* // This revision needs to already exist
|
|
845
|
+
* revisionName: "cloudrun-srv-green",
|
|
846
|
+
* }],
|
|
847
|
+
* });
|
|
848
|
+
* ```
|
|
849
|
+
* ### Cloud Run Service Traffic Split Tag
|
|
850
|
+
*
|
|
851
|
+
* ```typescript
|
|
852
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
853
|
+
* import * as gcp from "@pulumi/gcp";
|
|
854
|
+
*
|
|
855
|
+
* const defaultService = new gcp.cloudrun.Service("default", {
|
|
856
|
+
* location: "us-central1",
|
|
857
|
+
* template: {},
|
|
858
|
+
* traffics: [
|
|
859
|
+
* {
|
|
860
|
+
* // Update revision to 50% traffic
|
|
861
|
+
* percent: 50,
|
|
862
|
+
* // This revision needs to already exist
|
|
863
|
+
* revisionName: "cloudrun-srv-green",
|
|
864
|
+
* },
|
|
865
|
+
* {
|
|
866
|
+
* // Update tag to 50% traffic
|
|
867
|
+
* percent: 50,
|
|
868
|
+
* // This tag needs to already exist
|
|
869
|
+
* tag: "tag-name",
|
|
870
|
+
* },
|
|
871
|
+
* ],
|
|
872
|
+
* });
|
|
873
|
+
* ```
|
|
450
874
|
*
|
|
451
875
|
* ## Import
|
|
452
876
|
*
|