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
pulumi_gcp/apphub/workload.py
CHANGED
@@ -436,215 +436,6 @@ class Workload(pulumi.CustomResource):
|
|
436
436
|
|
437
437
|
## Example Usage
|
438
438
|
|
439
|
-
### Apphub Workload Basic
|
440
|
-
|
441
|
-
```python
|
442
|
-
import pulumi
|
443
|
-
import pulumi_gcp as gcp
|
444
|
-
import pulumi_std as std
|
445
|
-
import pulumi_time as time
|
446
|
-
|
447
|
-
application = gcp.apphub.Application("application",
|
448
|
-
location="us-central1",
|
449
|
-
application_id="example-application-1",
|
450
|
-
scope=gcp.apphub.ApplicationScopeArgs(
|
451
|
-
type="REGIONAL",
|
452
|
-
))
|
453
|
-
service_project = gcp.organizations.Project("service_project",
|
454
|
-
project_id="project-1",
|
455
|
-
name="Service Project",
|
456
|
-
org_id="123456789",
|
457
|
-
billing_account="000000-0000000-0000000-000000")
|
458
|
-
# Enable Compute API
|
459
|
-
compute_service_project = gcp.projects.Service("compute_service_project",
|
460
|
-
project=service_project.project_id,
|
461
|
-
service="compute.googleapis.com")
|
462
|
-
wait120s = time.index.Sleep("wait_120s", create_duration=120s)
|
463
|
-
service_project_attachment = gcp.apphub.ServiceProjectAttachment("service_project_attachment", service_project_attachment_id=service_project.project_id)
|
464
|
-
# VPC network
|
465
|
-
ilb_network = gcp.compute.Network("ilb_network",
|
466
|
-
name="l7-ilb-network",
|
467
|
-
project=service_project.project_id,
|
468
|
-
auto_create_subnetworks=False)
|
469
|
-
# backend subnet
|
470
|
-
ilb_subnet = gcp.compute.Subnetwork("ilb_subnet",
|
471
|
-
name="l7-ilb-subnet",
|
472
|
-
project=service_project.project_id,
|
473
|
-
ip_cidr_range="10.0.1.0/24",
|
474
|
-
region="us-central1",
|
475
|
-
network=ilb_network.id)
|
476
|
-
# instance template
|
477
|
-
instance_template = gcp.compute.InstanceTemplate("instance_template",
|
478
|
-
network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
|
479
|
-
access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
|
480
|
-
network=ilb_network.id,
|
481
|
-
subnetwork=ilb_subnet.id,
|
482
|
-
)],
|
483
|
-
name="l7-ilb-mig-template",
|
484
|
-
project=service_project.project_id,
|
485
|
-
machine_type="e2-small",
|
486
|
-
tags=["http-server"],
|
487
|
-
disks=[gcp.compute.InstanceTemplateDiskArgs(
|
488
|
-
source_image="debian-cloud/debian-10",
|
489
|
-
auto_delete=True,
|
490
|
-
boot=True,
|
491
|
-
)],
|
492
|
-
metadata={
|
493
|
-
"startup-script": \"\"\"#! /bin/bash
|
494
|
-
set -euo pipefail
|
495
|
-
export DEBIAN_FRONTEND=noninteractive
|
496
|
-
apt-get update
|
497
|
-
apt-get install -y nginx-light jq
|
498
|
-
NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
|
499
|
-
IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
|
500
|
-
METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
|
501
|
-
cat <<EOF > /var/www/html/index.html
|
502
|
-
<pre>
|
503
|
-
Name: $NAME
|
504
|
-
IP: $IP
|
505
|
-
Metadata: $METADATA
|
506
|
-
</pre>
|
507
|
-
EOF
|
508
|
-
\"\"\",
|
509
|
-
})
|
510
|
-
mig = gcp.compute.RegionInstanceGroupManager("mig",
|
511
|
-
name="l7-ilb-mig1",
|
512
|
-
project=service_project.project_id,
|
513
|
-
region="us-central1",
|
514
|
-
versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
|
515
|
-
instance_template=instance_template.id,
|
516
|
-
name="primary",
|
517
|
-
)],
|
518
|
-
base_instance_name="vm",
|
519
|
-
target_size=2)
|
520
|
-
# Discovered workload
|
521
|
-
catalog_workload = std.replace_output(text=mig.instance_group,
|
522
|
-
search="https://www.googleapis.com/compute/v1",
|
523
|
-
replace="//compute.googleapis.com").apply(lambda invoke: gcp.apphub.get_discovered_workload_output(location="us-central1",
|
524
|
-
workload_uri=invoke.result))
|
525
|
-
wait120s_for_resource_ingestion = time.index.Sleep("wait_120s_for_resource_ingestion", create_duration=120s)
|
526
|
-
example = gcp.apphub.Workload("example",
|
527
|
-
location="us-central1",
|
528
|
-
application_id=application.application_id,
|
529
|
-
workload_id=mig.name,
|
530
|
-
discovered_workload=catalog_workload.name)
|
531
|
-
```
|
532
|
-
### Apphub Workload Full
|
533
|
-
|
534
|
-
```python
|
535
|
-
import pulumi
|
536
|
-
import pulumi_gcp as gcp
|
537
|
-
import pulumi_std as std
|
538
|
-
import pulumi_time as time
|
539
|
-
|
540
|
-
application = gcp.apphub.Application("application",
|
541
|
-
location="us-central1",
|
542
|
-
application_id="example-application-1",
|
543
|
-
scope=gcp.apphub.ApplicationScopeArgs(
|
544
|
-
type="REGIONAL",
|
545
|
-
))
|
546
|
-
service_project = gcp.organizations.Project("service_project",
|
547
|
-
project_id="project-1",
|
548
|
-
name="Service Project",
|
549
|
-
org_id="123456789",
|
550
|
-
billing_account="000000-0000000-0000000-000000")
|
551
|
-
# Enable Compute API
|
552
|
-
compute_service_project = gcp.projects.Service("compute_service_project",
|
553
|
-
project=service_project.project_id,
|
554
|
-
service="compute.googleapis.com")
|
555
|
-
wait120s = time.index.Sleep("wait_120s", create_duration=120s)
|
556
|
-
service_project_attachment = gcp.apphub.ServiceProjectAttachment("service_project_attachment", service_project_attachment_id=service_project.project_id)
|
557
|
-
# VPC network
|
558
|
-
ilb_network = gcp.compute.Network("ilb_network",
|
559
|
-
name="l7-ilb-network",
|
560
|
-
project=service_project.project_id,
|
561
|
-
auto_create_subnetworks=False)
|
562
|
-
# backend subnet
|
563
|
-
ilb_subnet = gcp.compute.Subnetwork("ilb_subnet",
|
564
|
-
name="l7-ilb-subnet",
|
565
|
-
project=service_project.project_id,
|
566
|
-
ip_cidr_range="10.0.1.0/24",
|
567
|
-
region="us-central1",
|
568
|
-
network=ilb_network.id)
|
569
|
-
# instance template
|
570
|
-
instance_template = gcp.compute.InstanceTemplate("instance_template",
|
571
|
-
network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
|
572
|
-
access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
|
573
|
-
network=ilb_network.id,
|
574
|
-
subnetwork=ilb_subnet.id,
|
575
|
-
)],
|
576
|
-
name="l7-ilb-mig-template",
|
577
|
-
project=service_project.project_id,
|
578
|
-
machine_type="e2-small",
|
579
|
-
tags=["http-server"],
|
580
|
-
disks=[gcp.compute.InstanceTemplateDiskArgs(
|
581
|
-
source_image="debian-cloud/debian-10",
|
582
|
-
auto_delete=True,
|
583
|
-
boot=True,
|
584
|
-
)],
|
585
|
-
metadata={
|
586
|
-
"startup-script": \"\"\"#! /bin/bash
|
587
|
-
set -euo pipefail
|
588
|
-
export DEBIAN_FRONTEND=noninteractive
|
589
|
-
apt-get update
|
590
|
-
apt-get install -y nginx-light jq
|
591
|
-
NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
|
592
|
-
IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
|
593
|
-
METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
|
594
|
-
cat <<EOF > /var/www/html/index.html
|
595
|
-
<pre>
|
596
|
-
Name: $NAME
|
597
|
-
IP: $IP
|
598
|
-
Metadata: $METADATA
|
599
|
-
</pre>
|
600
|
-
EOF
|
601
|
-
\"\"\",
|
602
|
-
})
|
603
|
-
mig = gcp.compute.RegionInstanceGroupManager("mig",
|
604
|
-
name="l7-ilb-mig1",
|
605
|
-
project=service_project.project_id,
|
606
|
-
region="us-central1",
|
607
|
-
versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
|
608
|
-
instance_template=instance_template.id,
|
609
|
-
name="primary",
|
610
|
-
)],
|
611
|
-
base_instance_name="vm",
|
612
|
-
target_size=2)
|
613
|
-
# Discovered workload
|
614
|
-
catalog_workload = std.replace_output(text=mig.instance_group,
|
615
|
-
search="https://www.googleapis.com/compute/v1",
|
616
|
-
replace="//compute.googleapis.com").apply(lambda invoke: gcp.apphub.get_discovered_workload_output(location="us-central1",
|
617
|
-
workload_uri=invoke.result))
|
618
|
-
wait120s_for_resource_ingestion = time.index.Sleep("wait_120s_for_resource_ingestion", create_duration=120s)
|
619
|
-
example = gcp.apphub.Workload("example",
|
620
|
-
location="us-central1",
|
621
|
-
application_id=application.application_id,
|
622
|
-
workload_id=mig.name,
|
623
|
-
discovered_workload=catalog_workload.name,
|
624
|
-
display_name="Example Service Full",
|
625
|
-
description="Register service for testing",
|
626
|
-
attributes=gcp.apphub.WorkloadAttributesArgs(
|
627
|
-
environment=gcp.apphub.WorkloadAttributesEnvironmentArgs(
|
628
|
-
type="STAGING",
|
629
|
-
),
|
630
|
-
criticality=gcp.apphub.WorkloadAttributesCriticalityArgs(
|
631
|
-
type="MISSION_CRITICAL",
|
632
|
-
),
|
633
|
-
business_owners=[gcp.apphub.WorkloadAttributesBusinessOwnerArgs(
|
634
|
-
display_name="Alice",
|
635
|
-
email="alice@google.com",
|
636
|
-
)],
|
637
|
-
developer_owners=[gcp.apphub.WorkloadAttributesDeveloperOwnerArgs(
|
638
|
-
display_name="Bob",
|
639
|
-
email="bob@google.com",
|
640
|
-
)],
|
641
|
-
operator_owners=[gcp.apphub.WorkloadAttributesOperatorOwnerArgs(
|
642
|
-
display_name="Charlie",
|
643
|
-
email="charlie@google.com",
|
644
|
-
)],
|
645
|
-
))
|
646
|
-
```
|
647
|
-
|
648
439
|
## Import
|
649
440
|
|
650
441
|
Workload can be imported using any of these accepted formats:
|
@@ -696,215 +487,6 @@ class Workload(pulumi.CustomResource):
|
|
696
487
|
|
697
488
|
## Example Usage
|
698
489
|
|
699
|
-
### Apphub Workload Basic
|
700
|
-
|
701
|
-
```python
|
702
|
-
import pulumi
|
703
|
-
import pulumi_gcp as gcp
|
704
|
-
import pulumi_std as std
|
705
|
-
import pulumi_time as time
|
706
|
-
|
707
|
-
application = gcp.apphub.Application("application",
|
708
|
-
location="us-central1",
|
709
|
-
application_id="example-application-1",
|
710
|
-
scope=gcp.apphub.ApplicationScopeArgs(
|
711
|
-
type="REGIONAL",
|
712
|
-
))
|
713
|
-
service_project = gcp.organizations.Project("service_project",
|
714
|
-
project_id="project-1",
|
715
|
-
name="Service Project",
|
716
|
-
org_id="123456789",
|
717
|
-
billing_account="000000-0000000-0000000-000000")
|
718
|
-
# Enable Compute API
|
719
|
-
compute_service_project = gcp.projects.Service("compute_service_project",
|
720
|
-
project=service_project.project_id,
|
721
|
-
service="compute.googleapis.com")
|
722
|
-
wait120s = time.index.Sleep("wait_120s", create_duration=120s)
|
723
|
-
service_project_attachment = gcp.apphub.ServiceProjectAttachment("service_project_attachment", service_project_attachment_id=service_project.project_id)
|
724
|
-
# VPC network
|
725
|
-
ilb_network = gcp.compute.Network("ilb_network",
|
726
|
-
name="l7-ilb-network",
|
727
|
-
project=service_project.project_id,
|
728
|
-
auto_create_subnetworks=False)
|
729
|
-
# backend subnet
|
730
|
-
ilb_subnet = gcp.compute.Subnetwork("ilb_subnet",
|
731
|
-
name="l7-ilb-subnet",
|
732
|
-
project=service_project.project_id,
|
733
|
-
ip_cidr_range="10.0.1.0/24",
|
734
|
-
region="us-central1",
|
735
|
-
network=ilb_network.id)
|
736
|
-
# instance template
|
737
|
-
instance_template = gcp.compute.InstanceTemplate("instance_template",
|
738
|
-
network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
|
739
|
-
access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
|
740
|
-
network=ilb_network.id,
|
741
|
-
subnetwork=ilb_subnet.id,
|
742
|
-
)],
|
743
|
-
name="l7-ilb-mig-template",
|
744
|
-
project=service_project.project_id,
|
745
|
-
machine_type="e2-small",
|
746
|
-
tags=["http-server"],
|
747
|
-
disks=[gcp.compute.InstanceTemplateDiskArgs(
|
748
|
-
source_image="debian-cloud/debian-10",
|
749
|
-
auto_delete=True,
|
750
|
-
boot=True,
|
751
|
-
)],
|
752
|
-
metadata={
|
753
|
-
"startup-script": \"\"\"#! /bin/bash
|
754
|
-
set -euo pipefail
|
755
|
-
export DEBIAN_FRONTEND=noninteractive
|
756
|
-
apt-get update
|
757
|
-
apt-get install -y nginx-light jq
|
758
|
-
NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
|
759
|
-
IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
|
760
|
-
METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
|
761
|
-
cat <<EOF > /var/www/html/index.html
|
762
|
-
<pre>
|
763
|
-
Name: $NAME
|
764
|
-
IP: $IP
|
765
|
-
Metadata: $METADATA
|
766
|
-
</pre>
|
767
|
-
EOF
|
768
|
-
\"\"\",
|
769
|
-
})
|
770
|
-
mig = gcp.compute.RegionInstanceGroupManager("mig",
|
771
|
-
name="l7-ilb-mig1",
|
772
|
-
project=service_project.project_id,
|
773
|
-
region="us-central1",
|
774
|
-
versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
|
775
|
-
instance_template=instance_template.id,
|
776
|
-
name="primary",
|
777
|
-
)],
|
778
|
-
base_instance_name="vm",
|
779
|
-
target_size=2)
|
780
|
-
# Discovered workload
|
781
|
-
catalog_workload = std.replace_output(text=mig.instance_group,
|
782
|
-
search="https://www.googleapis.com/compute/v1",
|
783
|
-
replace="//compute.googleapis.com").apply(lambda invoke: gcp.apphub.get_discovered_workload_output(location="us-central1",
|
784
|
-
workload_uri=invoke.result))
|
785
|
-
wait120s_for_resource_ingestion = time.index.Sleep("wait_120s_for_resource_ingestion", create_duration=120s)
|
786
|
-
example = gcp.apphub.Workload("example",
|
787
|
-
location="us-central1",
|
788
|
-
application_id=application.application_id,
|
789
|
-
workload_id=mig.name,
|
790
|
-
discovered_workload=catalog_workload.name)
|
791
|
-
```
|
792
|
-
### Apphub Workload Full
|
793
|
-
|
794
|
-
```python
|
795
|
-
import pulumi
|
796
|
-
import pulumi_gcp as gcp
|
797
|
-
import pulumi_std as std
|
798
|
-
import pulumi_time as time
|
799
|
-
|
800
|
-
application = gcp.apphub.Application("application",
|
801
|
-
location="us-central1",
|
802
|
-
application_id="example-application-1",
|
803
|
-
scope=gcp.apphub.ApplicationScopeArgs(
|
804
|
-
type="REGIONAL",
|
805
|
-
))
|
806
|
-
service_project = gcp.organizations.Project("service_project",
|
807
|
-
project_id="project-1",
|
808
|
-
name="Service Project",
|
809
|
-
org_id="123456789",
|
810
|
-
billing_account="000000-0000000-0000000-000000")
|
811
|
-
# Enable Compute API
|
812
|
-
compute_service_project = gcp.projects.Service("compute_service_project",
|
813
|
-
project=service_project.project_id,
|
814
|
-
service="compute.googleapis.com")
|
815
|
-
wait120s = time.index.Sleep("wait_120s", create_duration=120s)
|
816
|
-
service_project_attachment = gcp.apphub.ServiceProjectAttachment("service_project_attachment", service_project_attachment_id=service_project.project_id)
|
817
|
-
# VPC network
|
818
|
-
ilb_network = gcp.compute.Network("ilb_network",
|
819
|
-
name="l7-ilb-network",
|
820
|
-
project=service_project.project_id,
|
821
|
-
auto_create_subnetworks=False)
|
822
|
-
# backend subnet
|
823
|
-
ilb_subnet = gcp.compute.Subnetwork("ilb_subnet",
|
824
|
-
name="l7-ilb-subnet",
|
825
|
-
project=service_project.project_id,
|
826
|
-
ip_cidr_range="10.0.1.0/24",
|
827
|
-
region="us-central1",
|
828
|
-
network=ilb_network.id)
|
829
|
-
# instance template
|
830
|
-
instance_template = gcp.compute.InstanceTemplate("instance_template",
|
831
|
-
network_interfaces=[gcp.compute.InstanceTemplateNetworkInterfaceArgs(
|
832
|
-
access_configs=[gcp.compute.InstanceTemplateNetworkInterfaceAccessConfigArgs()],
|
833
|
-
network=ilb_network.id,
|
834
|
-
subnetwork=ilb_subnet.id,
|
835
|
-
)],
|
836
|
-
name="l7-ilb-mig-template",
|
837
|
-
project=service_project.project_id,
|
838
|
-
machine_type="e2-small",
|
839
|
-
tags=["http-server"],
|
840
|
-
disks=[gcp.compute.InstanceTemplateDiskArgs(
|
841
|
-
source_image="debian-cloud/debian-10",
|
842
|
-
auto_delete=True,
|
843
|
-
boot=True,
|
844
|
-
)],
|
845
|
-
metadata={
|
846
|
-
"startup-script": \"\"\"#! /bin/bash
|
847
|
-
set -euo pipefail
|
848
|
-
export DEBIAN_FRONTEND=noninteractive
|
849
|
-
apt-get update
|
850
|
-
apt-get install -y nginx-light jq
|
851
|
-
NAME=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/hostname")
|
852
|
-
IP=$(curl -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip")
|
853
|
-
METADATA=$(curl -f -H "Metadata-Flavor: Google" "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=True" | jq 'del(.["startup-script"])')
|
854
|
-
cat <<EOF > /var/www/html/index.html
|
855
|
-
<pre>
|
856
|
-
Name: $NAME
|
857
|
-
IP: $IP
|
858
|
-
Metadata: $METADATA
|
859
|
-
</pre>
|
860
|
-
EOF
|
861
|
-
\"\"\",
|
862
|
-
})
|
863
|
-
mig = gcp.compute.RegionInstanceGroupManager("mig",
|
864
|
-
name="l7-ilb-mig1",
|
865
|
-
project=service_project.project_id,
|
866
|
-
region="us-central1",
|
867
|
-
versions=[gcp.compute.RegionInstanceGroupManagerVersionArgs(
|
868
|
-
instance_template=instance_template.id,
|
869
|
-
name="primary",
|
870
|
-
)],
|
871
|
-
base_instance_name="vm",
|
872
|
-
target_size=2)
|
873
|
-
# Discovered workload
|
874
|
-
catalog_workload = std.replace_output(text=mig.instance_group,
|
875
|
-
search="https://www.googleapis.com/compute/v1",
|
876
|
-
replace="//compute.googleapis.com").apply(lambda invoke: gcp.apphub.get_discovered_workload_output(location="us-central1",
|
877
|
-
workload_uri=invoke.result))
|
878
|
-
wait120s_for_resource_ingestion = time.index.Sleep("wait_120s_for_resource_ingestion", create_duration=120s)
|
879
|
-
example = gcp.apphub.Workload("example",
|
880
|
-
location="us-central1",
|
881
|
-
application_id=application.application_id,
|
882
|
-
workload_id=mig.name,
|
883
|
-
discovered_workload=catalog_workload.name,
|
884
|
-
display_name="Example Service Full",
|
885
|
-
description="Register service for testing",
|
886
|
-
attributes=gcp.apphub.WorkloadAttributesArgs(
|
887
|
-
environment=gcp.apphub.WorkloadAttributesEnvironmentArgs(
|
888
|
-
type="STAGING",
|
889
|
-
),
|
890
|
-
criticality=gcp.apphub.WorkloadAttributesCriticalityArgs(
|
891
|
-
type="MISSION_CRITICAL",
|
892
|
-
),
|
893
|
-
business_owners=[gcp.apphub.WorkloadAttributesBusinessOwnerArgs(
|
894
|
-
display_name="Alice",
|
895
|
-
email="alice@google.com",
|
896
|
-
)],
|
897
|
-
developer_owners=[gcp.apphub.WorkloadAttributesDeveloperOwnerArgs(
|
898
|
-
display_name="Bob",
|
899
|
-
email="bob@google.com",
|
900
|
-
)],
|
901
|
-
operator_owners=[gcp.apphub.WorkloadAttributesOperatorOwnerArgs(
|
902
|
-
display_name="Charlie",
|
903
|
-
email="charlie@google.com",
|
904
|
-
)],
|
905
|
-
))
|
906
|
-
```
|
907
|
-
|
908
490
|
## Import
|
909
491
|
|
910
492
|
Workload can be imported using any of these accepted formats:
|
@@ -579,7 +579,8 @@ class AuthConfig(pulumi.CustomResource):
|
|
579
579
|
username="test-username",
|
580
580
|
password="test-password",
|
581
581
|
),
|
582
|
-
)
|
582
|
+
),
|
583
|
+
opts=pulumi.ResourceOptions(depends_on=[client]))
|
583
584
|
```
|
584
585
|
|
585
586
|
## Import
|
@@ -650,7 +651,8 @@ class AuthConfig(pulumi.CustomResource):
|
|
650
651
|
username="test-username",
|
651
652
|
password="test-password",
|
652
653
|
),
|
653
|
-
)
|
654
|
+
),
|
655
|
+
opts=pulumi.ResourceOptions(depends_on=[client]))
|
654
656
|
```
|
655
657
|
|
656
658
|
## Import
|
@@ -747,17 +747,18 @@ class Repository(pulumi.CustomResource):
|
|
747
747
|
import pulumi
|
748
748
|
import pulumi_gcp as gcp
|
749
749
|
|
750
|
-
my_repo = gcp.artifactregistry.Repository("my-repo",
|
751
|
-
location="us-central1",
|
752
|
-
repository_id="my-repository",
|
753
|
-
description="example docker repository with cmek",
|
754
|
-
format="DOCKER",
|
755
|
-
kms_key_name="kms-key")
|
756
750
|
project = gcp.organizations.get_project()
|
757
751
|
crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
|
758
752
|
crypto_key_id="kms-key",
|
759
753
|
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
760
754
|
member=f"serviceAccount:service-{project.number}@gcp-sa-artifactregistry.iam.gserviceaccount.com")
|
755
|
+
my_repo = gcp.artifactregistry.Repository("my-repo",
|
756
|
+
location="us-central1",
|
757
|
+
repository_id="my-repository",
|
758
|
+
description="example docker repository with cmek",
|
759
|
+
format="DOCKER",
|
760
|
+
kms_key_name="kms-key",
|
761
|
+
opts=pulumi.ResourceOptions(depends_on=[crypto_key]))
|
761
762
|
```
|
762
763
|
### Artifact Registry Repository Virtual
|
763
764
|
|
@@ -1242,17 +1243,18 @@ class Repository(pulumi.CustomResource):
|
|
1242
1243
|
import pulumi
|
1243
1244
|
import pulumi_gcp as gcp
|
1244
1245
|
|
1245
|
-
my_repo = gcp.artifactregistry.Repository("my-repo",
|
1246
|
-
location="us-central1",
|
1247
|
-
repository_id="my-repository",
|
1248
|
-
description="example docker repository with cmek",
|
1249
|
-
format="DOCKER",
|
1250
|
-
kms_key_name="kms-key")
|
1251
1246
|
project = gcp.organizations.get_project()
|
1252
1247
|
crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
|
1253
1248
|
crypto_key_id="kms-key",
|
1254
1249
|
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
1255
1250
|
member=f"serviceAccount:service-{project.number}@gcp-sa-artifactregistry.iam.gserviceaccount.com")
|
1251
|
+
my_repo = gcp.artifactregistry.Repository("my-repo",
|
1252
|
+
location="us-central1",
|
1253
|
+
repository_id="my-repository",
|
1254
|
+
description="example docker repository with cmek",
|
1255
|
+
format="DOCKER",
|
1256
|
+
kms_key_name="kms-key",
|
1257
|
+
opts=pulumi.ResourceOptions(depends_on=[crypto_key]))
|
1256
1258
|
```
|
1257
1259
|
### Artifact Registry Repository Virtual
|
1258
1260
|
|
@@ -255,7 +255,8 @@ class ManagementServer(pulumi.CustomResource):
|
|
255
255
|
networks=[gcp.backupdisasterrecovery.ManagementServerNetworkArgs(
|
256
256
|
network=default.id,
|
257
257
|
peering_mode="PRIVATE_SERVICE_ACCESS",
|
258
|
-
)]
|
258
|
+
)],
|
259
|
+
opts=pulumi.ResourceOptions(depends_on=[default_connection]))
|
259
260
|
```
|
260
261
|
|
261
262
|
## Import
|
@@ -323,7 +324,8 @@ class ManagementServer(pulumi.CustomResource):
|
|
323
324
|
networks=[gcp.backupdisasterrecovery.ManagementServerNetworkArgs(
|
324
325
|
network=default.id,
|
325
326
|
peering_mode="PRIVATE_SERVICE_ACCESS",
|
326
|
-
)]
|
327
|
+
)],
|
328
|
+
opts=pulumi.ResourceOptions(depends_on=[default_connection]))
|
327
329
|
```
|
328
330
|
|
329
331
|
## Import
|
@@ -669,7 +669,8 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
669
669
|
dataset_id="my_dataset",
|
670
670
|
friendly_name="foo",
|
671
671
|
description="bar",
|
672
|
-
location="asia-northeast1"
|
672
|
+
location="asia-northeast1",
|
673
|
+
opts=pulumi.ResourceOptions(depends_on=[permissions]))
|
673
674
|
query_config = gcp.bigquery.DataTransferConfig("query_config",
|
674
675
|
display_name="my-query",
|
675
676
|
location="asia-northeast1",
|
@@ -680,7 +681,8 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
680
681
|
"destination_table_name_template": "my_table",
|
681
682
|
"write_disposition": "WRITE_APPEND",
|
682
683
|
"query": "SELECT name FROM tabl WHERE x = 'y'",
|
683
|
-
}
|
684
|
+
},
|
685
|
+
opts=pulumi.ResourceOptions(depends_on=[permissions]))
|
684
686
|
```
|
685
687
|
|
686
688
|
## Import
|
@@ -776,7 +778,8 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
776
778
|
dataset_id="my_dataset",
|
777
779
|
friendly_name="foo",
|
778
780
|
description="bar",
|
779
|
-
location="asia-northeast1"
|
781
|
+
location="asia-northeast1",
|
782
|
+
opts=pulumi.ResourceOptions(depends_on=[permissions]))
|
780
783
|
query_config = gcp.bigquery.DataTransferConfig("query_config",
|
781
784
|
display_name="my-query",
|
782
785
|
location="asia-northeast1",
|
@@ -787,7 +790,8 @@ class DataTransferConfig(pulumi.CustomResource):
|
|
787
790
|
"destination_table_name_template": "my_table",
|
788
791
|
"write_disposition": "WRITE_APPEND",
|
789
792
|
"query": "SELECT name FROM tabl WHERE x = 'y'",
|
790
|
-
}
|
793
|
+
},
|
794
|
+
opts=pulumi.ResourceOptions(depends_on=[permissions]))
|
791
795
|
```
|
792
796
|
|
793
797
|
## Import
|
pulumi_gcp/bigquery/job.py
CHANGED
@@ -580,7 +580,8 @@ class Job(pulumi.CustomResource):
|
|
580
580
|
autodetect=True,
|
581
581
|
source_format="NEWLINE_DELIMITED_JSON",
|
582
582
|
json_extension="GEOJSON",
|
583
|
-
)
|
583
|
+
),
|
584
|
+
opts=pulumi.ResourceOptions(depends_on=[object]))
|
584
585
|
```
|
585
586
|
### Bigquery Job Load Parquet
|
586
587
|
|
@@ -679,6 +680,11 @@ class Job(pulumi.CustomResource):
|
|
679
680
|
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
680
681
|
name="example-key",
|
681
682
|
key_ring=key_ring.id)
|
683
|
+
project = gcp.organizations.get_project(project_id="my-project-name")
|
684
|
+
encrypt_role = gcp.projects.IAMMember("encrypt_role",
|
685
|
+
project=project.project_id,
|
686
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
687
|
+
member=f"serviceAccount:bq-{project.number}@bigquery-encryption.iam.gserviceaccount.com")
|
682
688
|
dest = gcp.bigquery.Table("dest",
|
683
689
|
deletion_protection=False,
|
684
690
|
dataset_id=dest_dataset.dataset_id,
|
@@ -703,12 +709,8 @@ class Job(pulumi.CustomResource):
|
|
703
709
|
\"\"\",
|
704
710
|
encryption_configuration=gcp.bigquery.TableEncryptionConfigurationArgs(
|
705
711
|
kms_key_name=crypto_key.id,
|
706
|
-
)
|
707
|
-
|
708
|
-
encrypt_role = gcp.projects.IAMMember("encrypt_role",
|
709
|
-
project=project.project_id,
|
710
|
-
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
711
|
-
member=f"serviceAccount:bq-{project.number}@bigquery-encryption.iam.gserviceaccount.com")
|
712
|
+
),
|
713
|
+
opts=pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
712
714
|
job = gcp.bigquery.Job("job",
|
713
715
|
job_id="job_copy",
|
714
716
|
copy=gcp.bigquery.JobCopyArgs(
|
@@ -732,7 +734,8 @@ class Job(pulumi.CustomResource):
|
|
732
734
|
destination_encryption_configuration=gcp.bigquery.JobCopyDestinationEncryptionConfigurationArgs(
|
733
735
|
kms_key_name=crypto_key.id,
|
734
736
|
),
|
735
|
-
)
|
737
|
+
),
|
738
|
+
opts=pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
736
739
|
```
|
737
740
|
### Bigquery Job Extract
|
738
741
|
|
@@ -1005,7 +1008,8 @@ class Job(pulumi.CustomResource):
|
|
1005
1008
|
autodetect=True,
|
1006
1009
|
source_format="NEWLINE_DELIMITED_JSON",
|
1007
1010
|
json_extension="GEOJSON",
|
1008
|
-
)
|
1011
|
+
),
|
1012
|
+
opts=pulumi.ResourceOptions(depends_on=[object]))
|
1009
1013
|
```
|
1010
1014
|
### Bigquery Job Load Parquet
|
1011
1015
|
|
@@ -1104,6 +1108,11 @@ class Job(pulumi.CustomResource):
|
|
1104
1108
|
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
1105
1109
|
name="example-key",
|
1106
1110
|
key_ring=key_ring.id)
|
1111
|
+
project = gcp.organizations.get_project(project_id="my-project-name")
|
1112
|
+
encrypt_role = gcp.projects.IAMMember("encrypt_role",
|
1113
|
+
project=project.project_id,
|
1114
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
1115
|
+
member=f"serviceAccount:bq-{project.number}@bigquery-encryption.iam.gserviceaccount.com")
|
1107
1116
|
dest = gcp.bigquery.Table("dest",
|
1108
1117
|
deletion_protection=False,
|
1109
1118
|
dataset_id=dest_dataset.dataset_id,
|
@@ -1128,12 +1137,8 @@ class Job(pulumi.CustomResource):
|
|
1128
1137
|
\"\"\",
|
1129
1138
|
encryption_configuration=gcp.bigquery.TableEncryptionConfigurationArgs(
|
1130
1139
|
kms_key_name=crypto_key.id,
|
1131
|
-
)
|
1132
|
-
|
1133
|
-
encrypt_role = gcp.projects.IAMMember("encrypt_role",
|
1134
|
-
project=project.project_id,
|
1135
|
-
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
1136
|
-
member=f"serviceAccount:bq-{project.number}@bigquery-encryption.iam.gserviceaccount.com")
|
1140
|
+
),
|
1141
|
+
opts=pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
1137
1142
|
job = gcp.bigquery.Job("job",
|
1138
1143
|
job_id="job_copy",
|
1139
1144
|
copy=gcp.bigquery.JobCopyArgs(
|
@@ -1157,7 +1162,8 @@ class Job(pulumi.CustomResource):
|
|
1157
1162
|
destination_encryption_configuration=gcp.bigquery.JobCopyDestinationEncryptionConfigurationArgs(
|
1158
1163
|
kms_key_name=crypto_key.id,
|
1159
1164
|
),
|
1160
|
-
)
|
1165
|
+
),
|
1166
|
+
opts=pulumi.ResourceOptions(depends_on=[encrypt_role]))
|
1161
1167
|
```
|
1162
1168
|
### Bigquery Job Extract
|
1163
1169
|
|