pulumi-gcp 7.24.0a1716588893__py3-none-any.whl → 7.25.0__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.
Files changed (179) hide show
  1. pulumi_gcp/__init__.py +88 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -64
  3. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -70
  4. pulumi_gcp/alloydb/backup.py +50 -42
  5. pulumi_gcp/alloydb/cluster.py +56 -48
  6. pulumi_gcp/alloydb/instance.py +50 -42
  7. pulumi_gcp/alloydb/user.py +32 -24
  8. pulumi_gcp/apigateway/api_config.py +0 -114
  9. pulumi_gcp/apigateway/gateway.py +0 -44
  10. pulumi_gcp/apigee/addons_config.py +14 -4
  11. pulumi_gcp/apigee/endpoint_attachment.py +4 -2
  12. pulumi_gcp/apigee/env_group.py +4 -2
  13. pulumi_gcp/apigee/environment.py +4 -2
  14. pulumi_gcp/apigee/instance.py +22 -8
  15. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +26 -10
  16. pulumi_gcp/apigee/nat_address.py +10 -2
  17. pulumi_gcp/apigee/organization.py +18 -6
  18. pulumi_gcp/apigee/sync_authorization.py +8 -4
  19. pulumi_gcp/apigee/target_server.py +26 -10
  20. pulumi_gcp/appengine/_inputs.py +18 -0
  21. pulumi_gcp/appengine/domain_mapping.py +1 -1
  22. pulumi_gcp/appengine/outputs.py +16 -0
  23. pulumi_gcp/apphub/service.py +40 -20
  24. pulumi_gcp/apphub/service_project_attachment.py +16 -8
  25. pulumi_gcp/apphub/workload.py +0 -418
  26. pulumi_gcp/applicationintegration/auth_config.py +4 -2
  27. pulumi_gcp/artifactregistry/repository.py +14 -12
  28. pulumi_gcp/backupdisasterrecovery/management_server.py +4 -2
  29. pulumi_gcp/bigquery/_inputs.py +286 -2
  30. pulumi_gcp/bigquery/data_transfer_config.py +8 -4
  31. pulumi_gcp/bigquery/job.py +22 -16
  32. pulumi_gcp/bigquery/outputs.py +289 -2
  33. pulumi_gcp/bigquery/table.py +77 -35
  34. pulumi_gcp/certificateauthority/authority.py +10 -2
  35. pulumi_gcp/certificateauthority/certificate.py +8 -4
  36. pulumi_gcp/certificatemanager/certificate.py +84 -80
  37. pulumi_gcp/certificatemanager/certificate_issuance_config.py +32 -30
  38. pulumi_gcp/cloudbuild/bitbucket_server_config.py +12 -6
  39. pulumi_gcp/cloudbuild/trigger.py +22 -14
  40. pulumi_gcp/cloudbuild/worker_pool.py +12 -6
  41. pulumi_gcp/cloudbuildv2/connection.py +10 -2
  42. pulumi_gcp/cloudbuildv2/repository.py +10 -2
  43. pulumi_gcp/cloudfunctionsv2/function.py +110 -66
  44. pulumi_gcp/cloudids/endpoint.py +4 -2
  45. pulumi_gcp/cloudrun/_inputs.py +80 -4
  46. pulumi_gcp/cloudrun/outputs.py +137 -4
  47. pulumi_gcp/cloudrunv2/job.py +32 -20
  48. pulumi_gcp/cloudrunv2/service.py +28 -20
  49. pulumi_gcp/composer/user_workloads_secret.py +4 -4
  50. pulumi_gcp/compute/__init__.py +1 -0
  51. pulumi_gcp/compute/_inputs.py +398 -176
  52. pulumi_gcp/compute/forwarding_rule.py +225 -817
  53. pulumi_gcp/compute/get_subnetworks.py +157 -0
  54. pulumi_gcp/compute/global_forwarding_rule.py +0 -766
  55. pulumi_gcp/compute/instance_group.py +0 -100
  56. pulumi_gcp/compute/instance_group_membership.py +2 -2
  57. pulumi_gcp/compute/interconnect_attachment.py +82 -0
  58. pulumi_gcp/compute/network_endpoint.py +2 -2
  59. pulumi_gcp/compute/network_endpoint_list.py +2 -2
  60. pulumi_gcp/compute/outputs.py +609 -161
  61. pulumi_gcp/compute/packet_mirroring.py +4 -2
  62. pulumi_gcp/compute/region_security_policy_rule.py +4 -2
  63. pulumi_gcp/compute/region_ssl_certificate.py +0 -188
  64. pulumi_gcp/compute/region_ssl_policy.py +39 -40
  65. pulumi_gcp/compute/route.py +10 -2
  66. pulumi_gcp/compute/security_policy_rule.py +55 -1
  67. pulumi_gcp/compute/ssl_certificate.py +0 -166
  68. pulumi_gcp/compute/target_instance.py +4 -2
  69. pulumi_gcp/compute/vpn_gateway.py +12 -2
  70. pulumi_gcp/compute/vpn_tunnel.py +26 -16
  71. pulumi_gcp/container/_inputs.py +560 -0
  72. pulumi_gcp/container/outputs.py +1106 -51
  73. pulumi_gcp/databasemigrationservice/connection_profile.py +32 -16
  74. pulumi_gcp/datacatalog/policy_tag.py +4 -2
  75. pulumi_gcp/datafusion/instance.py +14 -12
  76. pulumi_gcp/dataplex/__init__.py +10 -0
  77. pulumi_gcp/dataplex/_inputs.py +160 -0
  78. pulumi_gcp/dataplex/aspect_type.py +1077 -0
  79. pulumi_gcp/dataplex/aspect_type_iam_binding.py +765 -0
  80. pulumi_gcp/dataplex/aspect_type_iam_member.py +765 -0
  81. pulumi_gcp/dataplex/aspect_type_iam_policy.py +604 -0
  82. pulumi_gcp/dataplex/asset.py +4 -2
  83. pulumi_gcp/dataplex/datascan.py +16 -14
  84. pulumi_gcp/dataplex/entry_group.py +722 -0
  85. pulumi_gcp/dataplex/entry_group_iam_binding.py +765 -0
  86. pulumi_gcp/dataplex/entry_group_iam_member.py +765 -0
  87. pulumi_gcp/dataplex/entry_group_iam_policy.py +604 -0
  88. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +164 -0
  89. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +164 -0
  90. pulumi_gcp/dataplex/outputs.py +112 -0
  91. pulumi_gcp/datastore/data_store_index.py +4 -2
  92. pulumi_gcp/datastream/connection_profile.py +47 -0
  93. pulumi_gcp/datastream/private_connection.py +47 -0
  94. pulumi_gcp/datastream/stream.py +63 -10
  95. pulumi_gcp/diagflow/cx_test_case.py +4 -4
  96. pulumi_gcp/diagflow/entity_type.py +4 -2
  97. pulumi_gcp/diagflow/fulfillment.py +4 -2
  98. pulumi_gcp/diagflow/intent.py +8 -4
  99. pulumi_gcp/dns/get_managed_zone.py +3 -3
  100. pulumi_gcp/dns/managed_zone.py +7 -7
  101. pulumi_gcp/dns/outputs.py +2 -2
  102. pulumi_gcp/edgecontainer/node_pool.py +4 -2
  103. pulumi_gcp/edgecontainer/vpn_connection.py +4 -2
  104. pulumi_gcp/eventarc/channel.py +4 -2
  105. pulumi_gcp/eventarc/google_channel_config.py +4 -2
  106. pulumi_gcp/firebase/app_check_app_attest_config.py +16 -8
  107. pulumi_gcp/firebase/app_check_debug_token.py +8 -4
  108. pulumi_gcp/firebase/app_check_device_check_config.py +8 -4
  109. pulumi_gcp/firebase/app_check_play_integrity_config.py +16 -8
  110. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +8 -4
  111. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +8 -4
  112. pulumi_gcp/firebase/app_check_service_config.py +12 -6
  113. pulumi_gcp/firebase/database_instance.py +4 -2
  114. pulumi_gcp/firebaserules/release.py +0 -98
  115. pulumi_gcp/firestore/database.py +24 -20
  116. pulumi_gcp/firestore/document.py +24 -12
  117. pulumi_gcp/folder/access_approval_settings.py +4 -2
  118. pulumi_gcp/gkehub/membership_binding.py +14 -4
  119. pulumi_gcp/gkehub/membership_rbac_role_binding.py +8 -4
  120. pulumi_gcp/gkehub/namespace.py +4 -2
  121. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -2
  122. pulumi_gcp/integrationconnectors/connection.py +4 -2
  123. pulumi_gcp/integrationconnectors/managed_zone.py +18 -6
  124. pulumi_gcp/kms/__init__.py +2 -0
  125. pulumi_gcp/kms/autokey_config.py +366 -0
  126. pulumi_gcp/kms/key_handle.py +548 -0
  127. pulumi_gcp/logging/folder_settings.py +12 -10
  128. pulumi_gcp/logging/linked_dataset.py +4 -2
  129. pulumi_gcp/logging/organization_settings.py +12 -10
  130. pulumi_gcp/logging/project_bucket_config.py +4 -2
  131. pulumi_gcp/looker/instance.py +12 -10
  132. pulumi_gcp/netapp/volume_replication.py +4 -2
  133. pulumi_gcp/netapp/volume_snapshot.py +4 -2
  134. pulumi_gcp/networkconnectivity/internal_range.py +14 -12
  135. pulumi_gcp/networksecurity/gateway_security_policy.py +16 -4
  136. pulumi_gcp/networksecurity/tls_inspection_policy.py +22 -4
  137. pulumi_gcp/networkservices/__init__.py +1 -0
  138. pulumi_gcp/networkservices/_inputs.py +245 -27
  139. pulumi_gcp/networkservices/gateway.py +12 -6
  140. pulumi_gcp/networkservices/lb_route_extension.py +663 -0
  141. pulumi_gcp/networkservices/lb_traffic_extension.py +28 -540
  142. pulumi_gcp/networkservices/outputs.py +251 -20
  143. pulumi_gcp/organizations/access_approval_settings.py +4 -2
  144. pulumi_gcp/orgpolicy/policy.py +2 -2
  145. pulumi_gcp/parallelstore/instance.py +20 -18
  146. pulumi_gcp/projects/access_approval_settings.py +4 -2
  147. pulumi_gcp/pubsub/_inputs.py +16 -0
  148. pulumi_gcp/pubsub/outputs.py +25 -0
  149. pulumi_gcp/pubsub/schema.py +4 -2
  150. pulumi_gcp/pubsub/subscription.py +102 -66
  151. pulumi_gcp/pubsub/topic.py +4 -2
  152. pulumi_gcp/pulumi-plugin.json +1 -1
  153. pulumi_gcp/redis/cluster.py +30 -28
  154. pulumi_gcp/redis/instance.py +4 -2
  155. pulumi_gcp/secretmanager/secret.py +4 -2
  156. pulumi_gcp/securesourcemanager/instance.py +20 -8
  157. pulumi_gcp/securitycenter/instance_iam_binding.py +14 -12
  158. pulumi_gcp/securitycenter/instance_iam_member.py +14 -12
  159. pulumi_gcp/securitycenter/instance_iam_policy.py +14 -12
  160. pulumi_gcp/serviceaccount/key.py +2 -2
  161. pulumi_gcp/sql/database_instance.py +4 -2
  162. pulumi_gcp/sql/user.py +4 -4
  163. pulumi_gcp/storage/get_project_service_account.py +4 -2
  164. pulumi_gcp/storage/insights_report_config.py +12 -10
  165. pulumi_gcp/storage/notification.py +18 -16
  166. pulumi_gcp/storage/transfer_agent_pool.py +4 -2
  167. pulumi_gcp/storage/transfer_job.py +14 -4
  168. pulumi_gcp/tpu/_inputs.py +2 -2
  169. pulumi_gcp/tpu/outputs.py +2 -2
  170. pulumi_gcp/tpu/v2_vm.py +10 -6
  171. pulumi_gcp/vertex/ai_endpoint.py +24 -22
  172. pulumi_gcp/vertex/ai_index_endpoint.py +20 -18
  173. pulumi_gcp/vertex/ai_tensorboard.py +14 -12
  174. pulumi_gcp/vmwareengine/external_address.py +4 -2
  175. pulumi_gcp/vmwareengine/network.py +8 -4
  176. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/METADATA +1 -1
  177. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/RECORD +179 -165
  178. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/WHEEL +0 -0
  179. {pulumi_gcp-7.24.0a1716588893.dist-info → pulumi_gcp-7.25.0.dist-info}/top_level.txt +0 -0
@@ -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