pulumi-gcp 7.24.0a1716588893__py3-none-any.whl → 7.25.0a1717097889__py3-none-any.whl
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.
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -64
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -70
- pulumi_gcp/alloydb/backup.py +50 -42
- pulumi_gcp/alloydb/cluster.py +56 -48
- pulumi_gcp/alloydb/instance.py +50 -42
- pulumi_gcp/alloydb/user.py +32 -24
- pulumi_gcp/apigateway/api_config.py +0 -114
- pulumi_gcp/apigateway/gateway.py +0 -44
- pulumi_gcp/apigee/addons_config.py +14 -4
- pulumi_gcp/apigee/endpoint_attachment.py +4 -2
- pulumi_gcp/apigee/env_group.py +4 -2
- pulumi_gcp/apigee/environment.py +4 -2
- pulumi_gcp/apigee/instance.py +22 -8
- pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +26 -10
- pulumi_gcp/apigee/nat_address.py +10 -2
- pulumi_gcp/apigee/organization.py +18 -6
- pulumi_gcp/apigee/sync_authorization.py +8 -4
- pulumi_gcp/apigee/target_server.py +26 -10
- pulumi_gcp/apphub/service.py +40 -20
- pulumi_gcp/apphub/service_project_attachment.py +16 -8
- pulumi_gcp/apphub/workload.py +0 -418
- pulumi_gcp/applicationintegration/auth_config.py +4 -2
- pulumi_gcp/artifactregistry/repository.py +14 -12
- pulumi_gcp/backupdisasterrecovery/management_server.py +4 -2
- pulumi_gcp/bigquery/data_transfer_config.py +8 -4
- pulumi_gcp/bigquery/job.py +22 -16
- pulumi_gcp/certificateauthority/authority.py +10 -2
- pulumi_gcp/certificateauthority/certificate.py +8 -4
- pulumi_gcp/certificatemanager/certificate.py +84 -80
- pulumi_gcp/certificatemanager/certificate_issuance_config.py +32 -30
- pulumi_gcp/cloudbuild/bitbucket_server_config.py +12 -6
- pulumi_gcp/cloudbuild/trigger.py +22 -14
- pulumi_gcp/cloudbuild/worker_pool.py +12 -6
- pulumi_gcp/cloudbuildv2/connection.py +10 -2
- pulumi_gcp/cloudbuildv2/repository.py +10 -2
- pulumi_gcp/cloudfunctionsv2/function.py +110 -62
- pulumi_gcp/cloudids/endpoint.py +4 -2
- pulumi_gcp/cloudrunv2/job.py +32 -20
- pulumi_gcp/cloudrunv2/service.py +28 -20
- pulumi_gcp/compute/forwarding_rule.py +225 -817
- pulumi_gcp/compute/global_forwarding_rule.py +0 -766
- pulumi_gcp/compute/instance_group.py +0 -100
- pulumi_gcp/compute/packet_mirroring.py +4 -2
- pulumi_gcp/compute/region_security_policy_rule.py +4 -2
- pulumi_gcp/compute/region_ssl_certificate.py +0 -188
- pulumi_gcp/compute/route.py +10 -2
- pulumi_gcp/compute/ssl_certificate.py +0 -166
- pulumi_gcp/compute/target_instance.py +4 -2
- pulumi_gcp/compute/vpn_gateway.py +12 -2
- pulumi_gcp/compute/vpn_tunnel.py +26 -16
- pulumi_gcp/databasemigrationservice/connection_profile.py +32 -16
- pulumi_gcp/datacatalog/policy_tag.py +4 -2
- pulumi_gcp/datafusion/instance.py +14 -12
- pulumi_gcp/dataplex/asset.py +4 -2
- pulumi_gcp/dataplex/datascan.py +16 -14
- pulumi_gcp/datastore/data_store_index.py +4 -2
- pulumi_gcp/datastream/stream.py +16 -10
- pulumi_gcp/diagflow/cx_test_case.py +4 -4
- pulumi_gcp/diagflow/entity_type.py +4 -2
- pulumi_gcp/diagflow/fulfillment.py +4 -2
- pulumi_gcp/diagflow/intent.py +8 -4
- pulumi_gcp/edgecontainer/node_pool.py +4 -2
- pulumi_gcp/edgecontainer/vpn_connection.py +4 -2
- pulumi_gcp/eventarc/channel.py +4 -2
- pulumi_gcp/eventarc/google_channel_config.py +4 -2
- pulumi_gcp/firebase/app_check_app_attest_config.py +16 -8
- pulumi_gcp/firebase/app_check_debug_token.py +8 -4
- pulumi_gcp/firebase/app_check_device_check_config.py +8 -4
- pulumi_gcp/firebase/app_check_play_integrity_config.py +16 -8
- pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +8 -4
- pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +8 -4
- pulumi_gcp/firebase/app_check_service_config.py +12 -6
- pulumi_gcp/firebase/database_instance.py +4 -2
- pulumi_gcp/firebaserules/release.py +0 -98
- pulumi_gcp/firestore/database.py +24 -20
- pulumi_gcp/firestore/document.py +24 -12
- pulumi_gcp/folder/access_approval_settings.py +4 -2
- pulumi_gcp/gkehub/membership_binding.py +14 -4
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +8 -4
- pulumi_gcp/gkehub/namespace.py +4 -2
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -2
- pulumi_gcp/integrationconnectors/connection.py +4 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +18 -6
- pulumi_gcp/logging/folder_settings.py +12 -10
- pulumi_gcp/logging/linked_dataset.py +4 -2
- pulumi_gcp/logging/organization_settings.py +12 -10
- pulumi_gcp/logging/project_bucket_config.py +4 -2
- pulumi_gcp/looker/instance.py +12 -10
- pulumi_gcp/netapp/volume_replication.py +4 -2
- pulumi_gcp/netapp/volume_snapshot.py +4 -2
- pulumi_gcp/networkconnectivity/internal_range.py +14 -12
- pulumi_gcp/networksecurity/gateway_security_policy.py +16 -4
- pulumi_gcp/networksecurity/tls_inspection_policy.py +22 -4
- pulumi_gcp/networkservices/gateway.py +12 -6
- pulumi_gcp/networkservices/lb_traffic_extension.py +0 -526
- pulumi_gcp/organizations/access_approval_settings.py +4 -2
- pulumi_gcp/parallelstore/instance.py +20 -18
- pulumi_gcp/projects/access_approval_settings.py +4 -2
- pulumi_gcp/pubsub/schema.py +4 -2
- pulumi_gcp/pubsub/subscription.py +94 -62
- pulumi_gcp/pubsub/topic.py +4 -2
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/cluster.py +30 -28
- pulumi_gcp/redis/instance.py +4 -2
- pulumi_gcp/secretmanager/secret.py +4 -2
- pulumi_gcp/securesourcemanager/instance.py +20 -8
- pulumi_gcp/securitycenter/instance_iam_binding.py +14 -12
- pulumi_gcp/securitycenter/instance_iam_member.py +14 -12
- pulumi_gcp/securitycenter/instance_iam_policy.py +14 -12
- pulumi_gcp/serviceaccount/key.py +2 -2
- pulumi_gcp/sql/database_instance.py +4 -2
- pulumi_gcp/storage/get_project_service_account.py +4 -2
- pulumi_gcp/storage/insights_report_config.py +12 -10
- pulumi_gcp/storage/notification.py +18 -16
- pulumi_gcp/storage/transfer_agent_pool.py +4 -2
- pulumi_gcp/storage/transfer_job.py +14 -4
- pulumi_gcp/tpu/v2_vm.py +10 -6
- pulumi_gcp/vertex/ai_endpoint.py +24 -22
- pulumi_gcp/vertex/ai_index_endpoint.py +20 -18
- pulumi_gcp/vertex/ai_tensorboard.py +14 -12
- pulumi_gcp/vmwareengine/external_address.py +4 -2
- pulumi_gcp/vmwareengine/network.py +8 -4
- {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/RECORD +126 -126
- {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0a1717097889.dist-info}/top_level.txt +0 -0
@@ -369,269 +369,6 @@ class LbTrafficExtension(pulumi.CustomResource):
|
|
369
369
|
|
370
370
|
## Example Usage
|
371
371
|
|
372
|
-
### Network Services Lb Traffic Extension Basic
|
373
|
-
|
374
|
-
```python
|
375
|
-
import pulumi
|
376
|
-
import pulumi_gcp as gcp
|
377
|
-
|
378
|
-
# Internal HTTP load balancer with a managed instance group backend
|
379
|
-
# VPC network
|
380
|
-
ilb_network = gcp.compute.Network("ilb_network",
|
381
|
-
name="l7-ilb-network",
|
382
|
-
auto_create_subnetworks=False)
|
383
|
-
# proxy-only subnet
|
384
|
-
proxy_subnet = gcp.compute.Subnetwork("proxy_subnet",
|
385
|
-
name="l7-ilb-proxy-subnet",
|
386
|
-
ip_cidr_range="10.0.0.0/24",
|
387
|
-
region="us-west1",
|
388
|
-
purpose="REGIONAL_MANAGED_PROXY",
|
389
|
-
role="ACTIVE",
|
390
|
-
network=ilb_network.id)
|
391
|
-
# backend subnet
|
392
|
-
ilb_subnet = gcp.compute.Subnetwork("ilb_subnet",
|
393
|
-
name="l7-ilb-subnet",
|
394
|
-
ip_cidr_range="10.0.1.0/24",
|
395
|
-
region="us-west1",
|
396
|
-
network=ilb_network.id)
|
397
|
-
# health check
|
398
|
-
default_region_health_check = gcp.compute.RegionHealthCheck("default",
|
399
|
-
name="l7-ilb-hc",
|
400
|
-
region="us-west1",
|
401
|
-
http_health_check=gcp.compute.RegionHealthCheckHttpHealthCheckArgs(
|
402
|
-
port_specification="USE_SERVING_PORT",
|
403
|
-
))
|
404
|
-
# instance template
|
405
|
-
instance_template = gcp.compute.InstanceTemplate("instance_template",
|
406
|
-
network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
|
407
|
-
access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
|
408
|
-
network=ilb_network.id,
|
409
|
-
subnetwork=ilb_subnet.id,
|
410
|
-
)],
|
411
|
-
name="l7-ilb-mig-template",
|
412
|
-
machine_type="e2-small",
|
413
|
-
tags=["http-server"],
|
414
|
-
disks=[gcp.compute.InstanceTemplateDiskArgs(
|
415
|
-
source_image="debian-cloud/debian-10",
|
416
|
-
auto_delete=True,
|
417
|
-
boot=True,
|
418
|
-
)],
|
419
|
-
metadata={
|
420
|
-
"startup-script": \"\"\"#! /bin/bash
|
421
|
-
set -euo pipefail
|
422
|
-
|
423
|
-
export DEBIAN_FRONTEND=noninteractive
|
424
|
-
apt-get update
|
425
|
-
apt-get install -y nginx-light jq
|
426
|
-
|
427
|
-
NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
|
428
|
-
IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
|
429
|
-
METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
|
430
|
-
|
431
|
-
cat <<EOF > /var/www/html/index.html
|
432
|
-
<pre>
|
433
|
-
Name: $NAME
|
434
|
-
IP: $IP
|
435
|
-
Metadata: $METADATA
|
436
|
-
</pre>
|
437
|
-
EOF
|
438
|
-
\"\"\",
|
439
|
-
})
|
440
|
-
# MIG
|
441
|
-
mig = gcp.compute.RegionInstanceGroupManager("mig",
|
442
|
-
name="l7-ilb-mig1",
|
443
|
-
region="us-west1",
|
444
|
-
base_instance_name="vm",
|
445
|
-
target_size=2,
|
446
|
-
versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
|
447
|
-
instance_template=instance_template.id,
|
448
|
-
name="primary",
|
449
|
-
)])
|
450
|
-
# backend service
|
451
|
-
default_region_backend_service = gcp.compute.RegionBackendService("default",
|
452
|
-
name="l7-ilb-backend-subnet",
|
453
|
-
region="us-west1",
|
454
|
-
protocol="HTTP",
|
455
|
-
load_balancing_scheme="INTERNAL_MANAGED",
|
456
|
-
timeout_sec=10,
|
457
|
-
health_checks=default_region_health_check.id,
|
458
|
-
backends=[gcp.compute.RegionBackendServiceBackendArgs(
|
459
|
-
group=mig.instance_group,
|
460
|
-
balancing_mode="UTILIZATION",
|
461
|
-
capacity_scaler=1,
|
462
|
-
)])
|
463
|
-
# URL map
|
464
|
-
default_region_url_map = gcp.compute.RegionUrlMap("default",
|
465
|
-
name="l7-ilb-regional-url-map",
|
466
|
-
region="us-west1",
|
467
|
-
default_service=default_region_backend_service.id)
|
468
|
-
# HTTP target proxy
|
469
|
-
default_region_target_http_proxy = gcp.compute.RegionTargetHttpProxy("default",
|
470
|
-
name="l7-ilb-target-http-proxy",
|
471
|
-
region="us-west1",
|
472
|
-
url_map=default_region_url_map.id)
|
473
|
-
# forwarding rule
|
474
|
-
default = gcp.compute.ForwardingRule("default",
|
475
|
-
name="l7-ilb-forwarding-rule",
|
476
|
-
region="us-west1",
|
477
|
-
ip_protocol="TCP",
|
478
|
-
load_balancing_scheme="INTERNAL_MANAGED",
|
479
|
-
port_range="80",
|
480
|
-
target=default_region_target_http_proxy.id,
|
481
|
-
network=ilb_network.id,
|
482
|
-
subnetwork=ilb_subnet.id,
|
483
|
-
network_tier="PREMIUM")
|
484
|
-
# allow all access from IAP and health check ranges
|
485
|
-
fw_iap = gcp.compute.Firewall("fw_iap",
|
486
|
-
name="l7-ilb-fw-allow-iap-hc",
|
487
|
-
direction="INGRESS",
|
488
|
-
network=ilb_network.id,
|
489
|
-
source_ranges=[
|
490
|
-
"130.211.0.0/22",
|
491
|
-
"35.191.0.0/16",
|
492
|
-
"35.235.240.0/20",
|
493
|
-
],
|
494
|
-
allows=[gcp.compute.FirewallAllowArgs(
|
495
|
-
protocol="tcp",
|
496
|
-
)])
|
497
|
-
# allow http from proxy subnet to backends
|
498
|
-
fw_ilb_to_backends = gcp.compute.Firewall("fw_ilb_to_backends",
|
499
|
-
name="l7-ilb-fw-allow-ilb-to-backends",
|
500
|
-
direction="INGRESS",
|
501
|
-
network=ilb_network.id,
|
502
|
-
source_ranges=["10.0.0.0/24"],
|
503
|
-
target_tags=["http-server"],
|
504
|
-
allows=[gcp.compute.FirewallAllowArgs(
|
505
|
-
protocol="tcp",
|
506
|
-
ports=[
|
507
|
-
"80",
|
508
|
-
"443",
|
509
|
-
"8080",
|
510
|
-
],
|
511
|
-
)])
|
512
|
-
# Traffic Extension Backend Instance
|
513
|
-
callouts_instance = gcp.compute.Instance("callouts_instance",
|
514
|
-
network_interfaces=[gcp.compute.InstanceNetworkInterfaceArgs(
|
515
|
-
access_configs=[gcp.compute.InstanceNetworkInterfaceAccessConfigArgs()],
|
516
|
-
network=ilb_network.id,
|
517
|
-
subnetwork=ilb_subnet.id,
|
518
|
-
)],
|
519
|
-
name="l7-ilb-callouts-ins",
|
520
|
-
zone="us-west1-a",
|
521
|
-
machine_type="e2-small",
|
522
|
-
labels={
|
523
|
-
"container-vm": "cos-stable-109-17800-147-54",
|
524
|
-
},
|
525
|
-
tags=[
|
526
|
-
"allow-ssh",
|
527
|
-
"load-balanced-backend",
|
528
|
-
],
|
529
|
-
boot_disk=gcp.compute.InstanceBootDiskArgs(
|
530
|
-
auto_delete=True,
|
531
|
-
initialize_params=gcp.compute.InstanceBootDiskInitializeParamsArgs(
|
532
|
-
type="pd-standard",
|
533
|
-
size=10,
|
534
|
-
image="https://www.googleapis.com/compute/v1/projects/cos-cloud/global/images/cos-stable-109-17800-147-54",
|
535
|
-
),
|
536
|
-
),
|
537
|
-
metadata={
|
538
|
-
"gce-container-declaration": \"\"\"# DISCLAIMER:
|
539
|
-
# This container declaration format is not a public API and may change without
|
540
|
-
# notice. Please use gcloud command-line tool or Google Cloud Console to run
|
541
|
-
# Containers on Google Compute Engine.
|
542
|
-
|
543
|
-
spec:
|
544
|
-
containers:
|
545
|
-
- image: us-docker.pkg.dev/service-extensions/ext-proc/service-callout-basic-example-python:latest
|
546
|
-
name: callouts-vm
|
547
|
-
securityContext:
|
548
|
-
privileged: false
|
549
|
-
stdin: false
|
550
|
-
tty: false
|
551
|
-
volumeMounts: []
|
552
|
-
restartPolicy: Always
|
553
|
-
volumes: []
|
554
|
-
\"\"\",
|
555
|
-
"google-logging-enabled": "true",
|
556
|
-
},
|
557
|
-
deletion_protection=False)
|
558
|
-
# callouts instance group
|
559
|
-
callouts_instance_group = gcp.compute.InstanceGroup("callouts_instance_group",
|
560
|
-
name="l7-ilb-callouts-ins-group",
|
561
|
-
description="Terraform test instance group",
|
562
|
-
zone="us-west1-a",
|
563
|
-
instances=[callouts_instance.id],
|
564
|
-
named_ports=[
|
565
|
-
gcp.compute.InstanceGroupNamedPortArgs(
|
566
|
-
name="http",
|
567
|
-
port=80,
|
568
|
-
),
|
569
|
-
gcp.compute.InstanceGroupNamedPortArgs(
|
570
|
-
name="grpc",
|
571
|
-
port=443,
|
572
|
-
),
|
573
|
-
])
|
574
|
-
# callout health check
|
575
|
-
callouts_health_check = gcp.compute.RegionHealthCheck("callouts_health_check",
|
576
|
-
name="l7-ilb-callouts-hc",
|
577
|
-
region="us-west1",
|
578
|
-
http_health_check=gcp.compute.RegionHealthCheckHttpHealthCheckArgs(
|
579
|
-
port=80,
|
580
|
-
))
|
581
|
-
# callout backend service
|
582
|
-
callouts_backend = gcp.compute.RegionBackendService("callouts_backend",
|
583
|
-
name="l7-ilb-callouts-backend",
|
584
|
-
region="us-west1",
|
585
|
-
protocol="HTTP2",
|
586
|
-
load_balancing_scheme="INTERNAL_MANAGED",
|
587
|
-
timeout_sec=10,
|
588
|
-
port_name="grpc",
|
589
|
-
health_checks=callouts_health_check.id,
|
590
|
-
backends=[gcp.compute.RegionBackendServiceBackendArgs(
|
591
|
-
group=callouts_instance_group.id,
|
592
|
-
balancing_mode="UTILIZATION",
|
593
|
-
capacity_scaler=1,
|
594
|
-
)])
|
595
|
-
default_lb_traffic_extension = gcp.networkservices.LbTrafficExtension("default",
|
596
|
-
name="l7-ilb-traffic-ext",
|
597
|
-
description="my traffic extension",
|
598
|
-
location="us-west1",
|
599
|
-
load_balancing_scheme="INTERNAL_MANAGED",
|
600
|
-
forwarding_rules=[default.self_link],
|
601
|
-
extension_chains=[gcp.networkservices.LbTrafficExtensionExtensionChainArgs(
|
602
|
-
name="chain1",
|
603
|
-
match_condition=gcp.networkservices.LbTrafficExtensionExtensionChainMatchConditionArgs(
|
604
|
-
cel_expression="request.host == 'example.com'",
|
605
|
-
),
|
606
|
-
extensions=[gcp.networkservices.LbTrafficExtensionExtensionChainExtensionArgs(
|
607
|
-
name="ext11",
|
608
|
-
authority="ext11.com",
|
609
|
-
service=callouts_backend.self_link,
|
610
|
-
timeout="0.1s",
|
611
|
-
fail_open=False,
|
612
|
-
supported_events=["REQUEST_HEADERS"],
|
613
|
-
forward_headers=["custom-header"],
|
614
|
-
)],
|
615
|
-
)],
|
616
|
-
labels={
|
617
|
-
"foo": "bar",
|
618
|
-
})
|
619
|
-
# test instance
|
620
|
-
vm_test = gcp.compute.Instance("vm_test",
|
621
|
-
name="l7-ilb-test-vm",
|
622
|
-
zone="us-west1-b",
|
623
|
-
machine_type="e2-small",
|
624
|
-
network_interfaces=[gcp.compute.InstanceNetworkInterfaceArgs(
|
625
|
-
network=ilb_network.id,
|
626
|
-
subnetwork=ilb_subnet.id,
|
627
|
-
)],
|
628
|
-
boot_disk=gcp.compute.InstanceBootDiskArgs(
|
629
|
-
initialize_params=gcp.compute.InstanceBootDiskInitializeParamsArgs(
|
630
|
-
image="debian-cloud/debian-11",
|
631
|
-
),
|
632
|
-
))
|
633
|
-
```
|
634
|
-
|
635
372
|
## Import
|
636
373
|
|
637
374
|
LbTrafficExtension can be imported using any of these accepted formats:
|
@@ -692,269 +429,6 @@ class LbTrafficExtension(pulumi.CustomResource):
|
|
692
429
|
|
693
430
|
## Example Usage
|
694
431
|
|
695
|
-
### Network Services Lb Traffic Extension Basic
|
696
|
-
|
697
|
-
```python
|
698
|
-
import pulumi
|
699
|
-
import pulumi_gcp as gcp
|
700
|
-
|
701
|
-
# Internal HTTP load balancer with a managed instance group backend
|
702
|
-
# VPC network
|
703
|
-
ilb_network = gcp.compute.Network("ilb_network",
|
704
|
-
name="l7-ilb-network",
|
705
|
-
auto_create_subnetworks=False)
|
706
|
-
# proxy-only subnet
|
707
|
-
proxy_subnet = gcp.compute.Subnetwork("proxy_subnet",
|
708
|
-
name="l7-ilb-proxy-subnet",
|
709
|
-
ip_cidr_range="10.0.0.0/24",
|
710
|
-
region="us-west1",
|
711
|
-
purpose="REGIONAL_MANAGED_PROXY",
|
712
|
-
role="ACTIVE",
|
713
|
-
network=ilb_network.id)
|
714
|
-
# backend subnet
|
715
|
-
ilb_subnet = gcp.compute.Subnetwork("ilb_subnet",
|
716
|
-
name="l7-ilb-subnet",
|
717
|
-
ip_cidr_range="10.0.1.0/24",
|
718
|
-
region="us-west1",
|
719
|
-
network=ilb_network.id)
|
720
|
-
# health check
|
721
|
-
default_region_health_check = gcp.compute.RegionHealthCheck("default",
|
722
|
-
name="l7-ilb-hc",
|
723
|
-
region="us-west1",
|
724
|
-
http_health_check=gcp.compute.RegionHealthCheckHttpHealthCheckArgs(
|
725
|
-
port_specification="USE_SERVING_PORT",
|
726
|
-
))
|
727
|
-
# instance template
|
728
|
-
instance_template = gcp.compute.InstanceTemplate("instance_template",
|
729
|
-
network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
|
730
|
-
access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
|
731
|
-
network=ilb_network.id,
|
732
|
-
subnetwork=ilb_subnet.id,
|
733
|
-
)],
|
734
|
-
name="l7-ilb-mig-template",
|
735
|
-
machine_type="e2-small",
|
736
|
-
tags=["http-server"],
|
737
|
-
disks=[gcp.compute.InstanceTemplateDiskArgs(
|
738
|
-
source_image="debian-cloud/debian-10",
|
739
|
-
auto_delete=True,
|
740
|
-
boot=True,
|
741
|
-
)],
|
742
|
-
metadata={
|
743
|
-
"startup-script": \"\"\"#! /bin/bash
|
744
|
-
set -euo pipefail
|
745
|
-
|
746
|
-
export DEBIAN_FRONTEND=noninteractive
|
747
|
-
apt-get update
|
748
|
-
apt-get install -y nginx-light jq
|
749
|
-
|
750
|
-
NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
|
751
|
-
IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
|
752
|
-
METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
|
753
|
-
|
754
|
-
cat <<EOF > /var/www/html/index.html
|
755
|
-
<pre>
|
756
|
-
Name: $NAME
|
757
|
-
IP: $IP
|
758
|
-
Metadata: $METADATA
|
759
|
-
</pre>
|
760
|
-
EOF
|
761
|
-
\"\"\",
|
762
|
-
})
|
763
|
-
# MIG
|
764
|
-
mig = gcp.compute.RegionInstanceGroupManager("mig",
|
765
|
-
name="l7-ilb-mig1",
|
766
|
-
region="us-west1",
|
767
|
-
base_instance_name="vm",
|
768
|
-
target_size=2,
|
769
|
-
versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
|
770
|
-
instance_template=instance_template.id,
|
771
|
-
name="primary",
|
772
|
-
)])
|
773
|
-
# backend service
|
774
|
-
default_region_backend_service = gcp.compute.RegionBackendService("default",
|
775
|
-
name="l7-ilb-backend-subnet",
|
776
|
-
region="us-west1",
|
777
|
-
protocol="HTTP",
|
778
|
-
load_balancing_scheme="INTERNAL_MANAGED",
|
779
|
-
timeout_sec=10,
|
780
|
-
health_checks=default_region_health_check.id,
|
781
|
-
backends=[gcp.compute.RegionBackendServiceBackendArgs(
|
782
|
-
group=mig.instance_group,
|
783
|
-
balancing_mode="UTILIZATION",
|
784
|
-
capacity_scaler=1,
|
785
|
-
)])
|
786
|
-
# URL map
|
787
|
-
default_region_url_map = gcp.compute.RegionUrlMap("default",
|
788
|
-
name="l7-ilb-regional-url-map",
|
789
|
-
region="us-west1",
|
790
|
-
default_service=default_region_backend_service.id)
|
791
|
-
# HTTP target proxy
|
792
|
-
default_region_target_http_proxy = gcp.compute.RegionTargetHttpProxy("default",
|
793
|
-
name="l7-ilb-target-http-proxy",
|
794
|
-
region="us-west1",
|
795
|
-
url_map=default_region_url_map.id)
|
796
|
-
# forwarding rule
|
797
|
-
default = gcp.compute.ForwardingRule("default",
|
798
|
-
name="l7-ilb-forwarding-rule",
|
799
|
-
region="us-west1",
|
800
|
-
ip_protocol="TCP",
|
801
|
-
load_balancing_scheme="INTERNAL_MANAGED",
|
802
|
-
port_range="80",
|
803
|
-
target=default_region_target_http_proxy.id,
|
804
|
-
network=ilb_network.id,
|
805
|
-
subnetwork=ilb_subnet.id,
|
806
|
-
network_tier="PREMIUM")
|
807
|
-
# allow all access from IAP and health check ranges
|
808
|
-
fw_iap = gcp.compute.Firewall("fw_iap",
|
809
|
-
name="l7-ilb-fw-allow-iap-hc",
|
810
|
-
direction="INGRESS",
|
811
|
-
network=ilb_network.id,
|
812
|
-
source_ranges=[
|
813
|
-
"130.211.0.0/22",
|
814
|
-
"35.191.0.0/16",
|
815
|
-
"35.235.240.0/20",
|
816
|
-
],
|
817
|
-
allows=[gcp.compute.FirewallAllowArgs(
|
818
|
-
protocol="tcp",
|
819
|
-
)])
|
820
|
-
# allow http from proxy subnet to backends
|
821
|
-
fw_ilb_to_backends = gcp.compute.Firewall("fw_ilb_to_backends",
|
822
|
-
name="l7-ilb-fw-allow-ilb-to-backends",
|
823
|
-
direction="INGRESS",
|
824
|
-
network=ilb_network.id,
|
825
|
-
source_ranges=["10.0.0.0/24"],
|
826
|
-
target_tags=["http-server"],
|
827
|
-
allows=[gcp.compute.FirewallAllowArgs(
|
828
|
-
protocol="tcp",
|
829
|
-
ports=[
|
830
|
-
"80",
|
831
|
-
"443",
|
832
|
-
"8080",
|
833
|
-
],
|
834
|
-
)])
|
835
|
-
# Traffic Extension Backend Instance
|
836
|
-
callouts_instance = gcp.compute.Instance("callouts_instance",
|
837
|
-
network_interfaces=[gcp.compute.InstanceNetworkInterfaceArgs(
|
838
|
-
access_configs=[gcp.compute.InstanceNetworkInterfaceAccessConfigArgs()],
|
839
|
-
network=ilb_network.id,
|
840
|
-
subnetwork=ilb_subnet.id,
|
841
|
-
)],
|
842
|
-
name="l7-ilb-callouts-ins",
|
843
|
-
zone="us-west1-a",
|
844
|
-
machine_type="e2-small",
|
845
|
-
labels={
|
846
|
-
"container-vm": "cos-stable-109-17800-147-54",
|
847
|
-
},
|
848
|
-
tags=[
|
849
|
-
"allow-ssh",
|
850
|
-
"load-balanced-backend",
|
851
|
-
],
|
852
|
-
boot_disk=gcp.compute.InstanceBootDiskArgs(
|
853
|
-
auto_delete=True,
|
854
|
-
initialize_params=gcp.compute.InstanceBootDiskInitializeParamsArgs(
|
855
|
-
type="pd-standard",
|
856
|
-
size=10,
|
857
|
-
image="https://www.googleapis.com/compute/v1/projects/cos-cloud/global/images/cos-stable-109-17800-147-54",
|
858
|
-
),
|
859
|
-
),
|
860
|
-
metadata={
|
861
|
-
"gce-container-declaration": \"\"\"# DISCLAIMER:
|
862
|
-
# This container declaration format is not a public API and may change without
|
863
|
-
# notice. Please use gcloud command-line tool or Google Cloud Console to run
|
864
|
-
# Containers on Google Compute Engine.
|
865
|
-
|
866
|
-
spec:
|
867
|
-
containers:
|
868
|
-
- image: us-docker.pkg.dev/service-extensions/ext-proc/service-callout-basic-example-python:latest
|
869
|
-
name: callouts-vm
|
870
|
-
securityContext:
|
871
|
-
privileged: false
|
872
|
-
stdin: false
|
873
|
-
tty: false
|
874
|
-
volumeMounts: []
|
875
|
-
restartPolicy: Always
|
876
|
-
volumes: []
|
877
|
-
\"\"\",
|
878
|
-
"google-logging-enabled": "true",
|
879
|
-
},
|
880
|
-
deletion_protection=False)
|
881
|
-
# callouts instance group
|
882
|
-
callouts_instance_group = gcp.compute.InstanceGroup("callouts_instance_group",
|
883
|
-
name="l7-ilb-callouts-ins-group",
|
884
|
-
description="Terraform test instance group",
|
885
|
-
zone="us-west1-a",
|
886
|
-
instances=[callouts_instance.id],
|
887
|
-
named_ports=[
|
888
|
-
gcp.compute.InstanceGroupNamedPortArgs(
|
889
|
-
name="http",
|
890
|
-
port=80,
|
891
|
-
),
|
892
|
-
gcp.compute.InstanceGroupNamedPortArgs(
|
893
|
-
name="grpc",
|
894
|
-
port=443,
|
895
|
-
),
|
896
|
-
])
|
897
|
-
# callout health check
|
898
|
-
callouts_health_check = gcp.compute.RegionHealthCheck("callouts_health_check",
|
899
|
-
name="l7-ilb-callouts-hc",
|
900
|
-
region="us-west1",
|
901
|
-
http_health_check=gcp.compute.RegionHealthCheckHttpHealthCheckArgs(
|
902
|
-
port=80,
|
903
|
-
))
|
904
|
-
# callout backend service
|
905
|
-
callouts_backend = gcp.compute.RegionBackendService("callouts_backend",
|
906
|
-
name="l7-ilb-callouts-backend",
|
907
|
-
region="us-west1",
|
908
|
-
protocol="HTTP2",
|
909
|
-
load_balancing_scheme="INTERNAL_MANAGED",
|
910
|
-
timeout_sec=10,
|
911
|
-
port_name="grpc",
|
912
|
-
health_checks=callouts_health_check.id,
|
913
|
-
backends=[gcp.compute.RegionBackendServiceBackendArgs(
|
914
|
-
group=callouts_instance_group.id,
|
915
|
-
balancing_mode="UTILIZATION",
|
916
|
-
capacity_scaler=1,
|
917
|
-
)])
|
918
|
-
default_lb_traffic_extension = gcp.networkservices.LbTrafficExtension("default",
|
919
|
-
name="l7-ilb-traffic-ext",
|
920
|
-
description="my traffic extension",
|
921
|
-
location="us-west1",
|
922
|
-
load_balancing_scheme="INTERNAL_MANAGED",
|
923
|
-
forwarding_rules=[default.self_link],
|
924
|
-
extension_chains=[gcp.networkservices.LbTrafficExtensionExtensionChainArgs(
|
925
|
-
name="chain1",
|
926
|
-
match_condition=gcp.networkservices.LbTrafficExtensionExtensionChainMatchConditionArgs(
|
927
|
-
cel_expression="request.host == 'example.com'",
|
928
|
-
),
|
929
|
-
extensions=[gcp.networkservices.LbTrafficExtensionExtensionChainExtensionArgs(
|
930
|
-
name="ext11",
|
931
|
-
authority="ext11.com",
|
932
|
-
service=callouts_backend.self_link,
|
933
|
-
timeout="0.1s",
|
934
|
-
fail_open=False,
|
935
|
-
supported_events=["REQUEST_HEADERS"],
|
936
|
-
forward_headers=["custom-header"],
|
937
|
-
)],
|
938
|
-
)],
|
939
|
-
labels={
|
940
|
-
"foo": "bar",
|
941
|
-
})
|
942
|
-
# test instance
|
943
|
-
vm_test = gcp.compute.Instance("vm_test",
|
944
|
-
name="l7-ilb-test-vm",
|
945
|
-
zone="us-west1-b",
|
946
|
-
machine_type="e2-small",
|
947
|
-
network_interfaces=[gcp.compute.InstanceNetworkInterfaceArgs(
|
948
|
-
network=ilb_network.id,
|
949
|
-
subnetwork=ilb_subnet.id,
|
950
|
-
)],
|
951
|
-
boot_disk=gcp.compute.InstanceBootDiskArgs(
|
952
|
-
initialize_params=gcp.compute.InstanceBootDiskInitializeParamsArgs(
|
953
|
-
image="debian-cloud/debian-11",
|
954
|
-
),
|
955
|
-
))
|
956
|
-
```
|
957
|
-
|
958
432
|
## Import
|
959
433
|
|
960
434
|
LbTrafficExtension can be imported using any of these accepted formats:
|
@@ -324,7 +324,8 @@ class AccessApprovalSettings(pulumi.CustomResource):
|
|
324
324
|
active_key_version=crypto_key_version.name,
|
325
325
|
enrolled_services=[gcp.organizations.AccessApprovalSettingsEnrolledServiceArgs(
|
326
326
|
cloud_product="all",
|
327
|
-
)]
|
327
|
+
)],
|
328
|
+
opts=pulumi.ResourceOptions(depends_on=[iam]))
|
328
329
|
```
|
329
330
|
|
330
331
|
## Import
|
@@ -428,7 +429,8 @@ class AccessApprovalSettings(pulumi.CustomResource):
|
|
428
429
|
active_key_version=crypto_key_version.name,
|
429
430
|
enrolled_services=[gcp.organizations.AccessApprovalSettingsEnrolledServiceArgs(
|
430
431
|
cloud_product="all",
|
431
|
-
)]
|
432
|
+
)],
|
433
|
+
opts=pulumi.ResourceOptions(depends_on=[iam]))
|
432
434
|
```
|
433
435
|
|
434
436
|
## Import
|
@@ -607,15 +607,6 @@ class Instance(pulumi.CustomResource):
|
|
607
607
|
name="network",
|
608
608
|
auto_create_subnetworks=True,
|
609
609
|
mtu=8896)
|
610
|
-
instance = gcp.parallelstore.Instance("instance",
|
611
|
-
instance_id="instance",
|
612
|
-
location="us-central1-a",
|
613
|
-
description="test instance",
|
614
|
-
capacity_gib="12000",
|
615
|
-
network=network.name,
|
616
|
-
labels={
|
617
|
-
"test": "value",
|
618
|
-
})
|
619
610
|
# Create an IP address
|
620
611
|
private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
|
621
612
|
name="address",
|
@@ -628,6 +619,16 @@ class Instance(pulumi.CustomResource):
|
|
628
619
|
network=network.id,
|
629
620
|
service="servicenetworking.googleapis.com",
|
630
621
|
reserved_peering_ranges=[private_ip_alloc.name])
|
622
|
+
instance = gcp.parallelstore.Instance("instance",
|
623
|
+
instance_id="instance",
|
624
|
+
location="us-central1-a",
|
625
|
+
description="test instance",
|
626
|
+
capacity_gib="12000",
|
627
|
+
network=network.name,
|
628
|
+
labels={
|
629
|
+
"test": "value",
|
630
|
+
},
|
631
|
+
opts=pulumi.ResourceOptions(depends_on=[default]))
|
631
632
|
```
|
632
633
|
|
633
634
|
## Import
|
@@ -717,15 +718,6 @@ class Instance(pulumi.CustomResource):
|
|
717
718
|
name="network",
|
718
719
|
auto_create_subnetworks=True,
|
719
720
|
mtu=8896)
|
720
|
-
instance = gcp.parallelstore.Instance("instance",
|
721
|
-
instance_id="instance",
|
722
|
-
location="us-central1-a",
|
723
|
-
description="test instance",
|
724
|
-
capacity_gib="12000",
|
725
|
-
network=network.name,
|
726
|
-
labels={
|
727
|
-
"test": "value",
|
728
|
-
})
|
729
721
|
# Create an IP address
|
730
722
|
private_ip_alloc = gcp.compute.GlobalAddress("private_ip_alloc",
|
731
723
|
name="address",
|
@@ -738,6 +730,16 @@ class Instance(pulumi.CustomResource):
|
|
738
730
|
network=network.id,
|
739
731
|
service="servicenetworking.googleapis.com",
|
740
732
|
reserved_peering_ranges=[private_ip_alloc.name])
|
733
|
+
instance = gcp.parallelstore.Instance("instance",
|
734
|
+
instance_id="instance",
|
735
|
+
location="us-central1-a",
|
736
|
+
description="test instance",
|
737
|
+
capacity_gib="12000",
|
738
|
+
network=network.name,
|
739
|
+
labels={
|
740
|
+
"test": "value",
|
741
|
+
},
|
742
|
+
opts=pulumi.ResourceOptions(depends_on=[default]))
|
741
743
|
```
|
742
744
|
|
743
745
|
## Import
|
@@ -366,7 +366,8 @@ class AccessApprovalSettings(pulumi.CustomResource):
|
|
366
366
|
active_key_version=crypto_key_version.name,
|
367
367
|
enrolled_services=[gcp.projects.AccessApprovalSettingsEnrolledServiceArgs(
|
368
368
|
cloud_product="all",
|
369
|
-
)]
|
369
|
+
)],
|
370
|
+
opts=pulumi.ResourceOptions(depends_on=[iam]))
|
370
371
|
```
|
371
372
|
|
372
373
|
## Import
|
@@ -463,7 +464,8 @@ class AccessApprovalSettings(pulumi.CustomResource):
|
|
463
464
|
active_key_version=crypto_key_version.name,
|
464
465
|
enrolled_services=[gcp.projects.AccessApprovalSettingsEnrolledServiceArgs(
|
465
466
|
cloud_product="all",
|
466
|
-
)]
|
467
|
+
)],
|
468
|
+
opts=pulumi.ResourceOptions(depends_on=[iam]))
|
467
469
|
```
|
468
470
|
|
469
471
|
## Import
|
pulumi_gcp/pubsub/schema.py
CHANGED
@@ -271,7 +271,8 @@ class Schema(pulumi.CustomResource):
|
|
271
271
|
schema_settings=gcp.pubsub.TopicSchemaSettingsArgs(
|
272
272
|
schema="projects/my-project-name/schemas/example",
|
273
273
|
encoding="JSON",
|
274
|
-
)
|
274
|
+
),
|
275
|
+
opts=pulumi.ResourceOptions(depends_on=[example]))
|
275
276
|
```
|
276
277
|
|
277
278
|
## Import
|
@@ -381,7 +382,8 @@ class Schema(pulumi.CustomResource):
|
|
381
382
|
schema_settings=gcp.pubsub.TopicSchemaSettingsArgs(
|
382
383
|
schema="projects/my-project-name/schemas/example",
|
383
384
|
encoding="JSON",
|
384
|
-
)
|
385
|
+
),
|
386
|
+
opts=pulumi.ResourceOptions(depends_on=[example]))
|
385
387
|
```
|
386
388
|
|
387
389
|
## Import
|