pulumi-gcp 7.12.0a1709365001__py3-none-any.whl → 7.13.0a1709814369__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. pulumi_gcp/__init__.py +72 -0
  2. pulumi_gcp/appengine/application_url_dispatch_rules.py +2 -2
  3. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  4. pulumi_gcp/appengine/service_network_settings.py +2 -2
  5. pulumi_gcp/appengine/standard_app_version.py +4 -4
  6. pulumi_gcp/bigquery/_inputs.py +88 -0
  7. pulumi_gcp/bigquery/dataset_iam_binding.py +35 -28
  8. pulumi_gcp/bigquery/dataset_iam_member.py +35 -28
  9. pulumi_gcp/bigquery/dataset_iam_policy.py +35 -28
  10. pulumi_gcp/bigquery/outputs.py +91 -0
  11. pulumi_gcp/bigquery/routine.py +118 -12
  12. pulumi_gcp/certificatemanager/dns_authorization.py +63 -14
  13. pulumi_gcp/clouddeploy/__init__.py +4 -0
  14. pulumi_gcp/clouddeploy/_inputs.py +80 -0
  15. pulumi_gcp/clouddeploy/automation.py +16 -0
  16. pulumi_gcp/clouddeploy/get_target_iam_policy.py +162 -0
  17. pulumi_gcp/clouddeploy/outputs.py +56 -0
  18. pulumi_gcp/clouddeploy/target_iam_binding.py +324 -0
  19. pulumi_gcp/clouddeploy/target_iam_member.py +324 -0
  20. pulumi_gcp/clouddeploy/target_iam_policy.py +253 -0
  21. pulumi_gcp/cloudfunctionsv2/function.py +0 -2
  22. pulumi_gcp/cloudrunv2/_inputs.py +4 -2
  23. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  24. pulumi_gcp/composer/_inputs.py +18 -2
  25. pulumi_gcp/composer/outputs.py +29 -4
  26. pulumi_gcp/compute/__init__.py +1 -0
  27. pulumi_gcp/compute/get_forwarding_rules.py +142 -0
  28. pulumi_gcp/compute/instance_group_membership.py +4 -4
  29. pulumi_gcp/compute/outputs.py +816 -0
  30. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  31. pulumi_gcp/compute/region_target_https_proxy.py +162 -37
  32. pulumi_gcp/compute/router_nat.py +8 -8
  33. pulumi_gcp/container/_inputs.py +80 -0
  34. pulumi_gcp/container/cluster.py +20 -16
  35. pulumi_gcp/container/outputs.py +115 -1
  36. pulumi_gcp/firebase/__init__.py +4 -0
  37. pulumi_gcp/firebase/app_check_app_attest_config.py +461 -0
  38. pulumi_gcp/firebase/app_check_play_integrity_config.py +465 -0
  39. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +474 -0
  40. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +511 -0
  41. pulumi_gcp/gkehub/scope.py +85 -0
  42. pulumi_gcp/integrationconnectors/connection.py +4 -4
  43. pulumi_gcp/looker/_inputs.py +42 -0
  44. pulumi_gcp/looker/instance.py +90 -0
  45. pulumi_gcp/looker/outputs.py +34 -0
  46. pulumi_gcp/migrationcenter/__init__.py +3 -0
  47. pulumi_gcp/migrationcenter/_inputs.py +500 -0
  48. pulumi_gcp/migrationcenter/outputs.py +562 -0
  49. pulumi_gcp/migrationcenter/preference_set.py +687 -0
  50. pulumi_gcp/monitoring/custom_service.py +4 -2
  51. pulumi_gcp/monitoring/generic_service.py +4 -2
  52. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  53. pulumi_gcp/netapp/__init__.py +1 -0
  54. pulumi_gcp/netapp/_inputs.py +275 -0
  55. pulumi_gcp/netapp/outputs.py +290 -0
  56. pulumi_gcp/netapp/volume.py +140 -2
  57. pulumi_gcp/netapp/volume_replication.py +1292 -0
  58. pulumi_gcp/notebooks/instance.py +1 -1
  59. pulumi_gcp/securityposture/_inputs.py +22 -19
  60. pulumi_gcp/securityposture/outputs.py +18 -15
  61. pulumi_gcp/securityposture/posture.py +28 -48
  62. pulumi_gcp/spanner/_inputs.py +20 -0
  63. pulumi_gcp/spanner/database_iam_binding.py +134 -0
  64. pulumi_gcp/spanner/database_iam_member.py +134 -0
  65. pulumi_gcp/spanner/database_iam_policy.py +114 -0
  66. pulumi_gcp/spanner/outputs.py +20 -0
  67. pulumi_gcp/workbench/_inputs.py +157 -2
  68. pulumi_gcp/workbench/instance.py +52 -0
  69. pulumi_gcp/workbench/outputs.py +154 -2
  70. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/METADATA +1 -1
  71. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/RECORD +73 -60
  72. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/WHEEL +0 -0
  73. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/top_level.txt +0 -0
@@ -563,6 +563,22 @@ class Instance(pulumi.CustomResource):
563
563
  name="workbench-instance",
564
564
  location="us-west1-a")
565
565
  ```
566
+ ### Workbench Instance Basic Container
567
+
568
+ ```python
569
+ import pulumi
570
+ import pulumi_gcp as gcp
571
+
572
+ instance = gcp.workbench.Instance("instance",
573
+ name="workbench-instance",
574
+ location="us-west1-a",
575
+ gce_setup=gcp.workbench.InstanceGceSetupArgs(
576
+ container_image=gcp.workbench.InstanceGceSetupContainerImageArgs(
577
+ repository="us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310",
578
+ tag="latest",
579
+ ),
580
+ ))
581
+ ```
566
582
  ### Workbench Instance Basic Gpu
567
583
 
568
584
  ```python
@@ -595,6 +611,11 @@ class Instance(pulumi.CustomResource):
595
611
  location="us-central1-a",
596
612
  gce_setup=gcp.workbench.InstanceGceSetupArgs(
597
613
  machine_type="e2-standard-4",
614
+ shielded_instance_config=gcp.workbench.InstanceGceSetupShieldedInstanceConfigArgs(
615
+ enable_secure_boot=False,
616
+ enable_vtpm=False,
617
+ enable_integrity_monitoring=False,
618
+ ),
598
619
  service_accounts=[gcp.workbench.InstanceGceSetupServiceAccountArgs(
599
620
  email="my@service-account.com",
600
621
  )],
@@ -631,6 +652,11 @@ class Instance(pulumi.CustomResource):
631
652
  type="NVIDIA_TESLA_T4",
632
653
  core_count="1",
633
654
  )],
655
+ shielded_instance_config=gcp.workbench.InstanceGceSetupShieldedInstanceConfigArgs(
656
+ enable_secure_boot=True,
657
+ enable_vtpm=True,
658
+ enable_integrity_monitoring=True,
659
+ ),
634
660
  disable_public_ip=False,
635
661
  service_accounts=[gcp.workbench.InstanceGceSetupServiceAccountArgs(
636
662
  email="my@service-account.com",
@@ -736,6 +762,22 @@ class Instance(pulumi.CustomResource):
736
762
  name="workbench-instance",
737
763
  location="us-west1-a")
738
764
  ```
765
+ ### Workbench Instance Basic Container
766
+
767
+ ```python
768
+ import pulumi
769
+ import pulumi_gcp as gcp
770
+
771
+ instance = gcp.workbench.Instance("instance",
772
+ name="workbench-instance",
773
+ location="us-west1-a",
774
+ gce_setup=gcp.workbench.InstanceGceSetupArgs(
775
+ container_image=gcp.workbench.InstanceGceSetupContainerImageArgs(
776
+ repository="us-docker.pkg.dev/deeplearning-platform-release/gcr.io/base-cu113.py310",
777
+ tag="latest",
778
+ ),
779
+ ))
780
+ ```
739
781
  ### Workbench Instance Basic Gpu
740
782
 
741
783
  ```python
@@ -768,6 +810,11 @@ class Instance(pulumi.CustomResource):
768
810
  location="us-central1-a",
769
811
  gce_setup=gcp.workbench.InstanceGceSetupArgs(
770
812
  machine_type="e2-standard-4",
813
+ shielded_instance_config=gcp.workbench.InstanceGceSetupShieldedInstanceConfigArgs(
814
+ enable_secure_boot=False,
815
+ enable_vtpm=False,
816
+ enable_integrity_monitoring=False,
817
+ ),
771
818
  service_accounts=[gcp.workbench.InstanceGceSetupServiceAccountArgs(
772
819
  email="my@service-account.com",
773
820
  )],
@@ -804,6 +851,11 @@ class Instance(pulumi.CustomResource):
804
851
  type="NVIDIA_TESLA_T4",
805
852
  core_count="1",
806
853
  )],
854
+ shielded_instance_config=gcp.workbench.InstanceGceSetupShieldedInstanceConfigArgs(
855
+ enable_secure_boot=True,
856
+ enable_vtpm=True,
857
+ enable_integrity_monitoring=True,
858
+ ),
807
859
  disable_public_ip=False,
808
860
  service_accounts=[gcp.workbench.InstanceGceSetupServiceAccountArgs(
809
861
  email="my@service-account.com",
@@ -14,9 +14,11 @@ __all__ = [
14
14
  'InstanceGceSetup',
15
15
  'InstanceGceSetupAcceleratorConfig',
16
16
  'InstanceGceSetupBootDisk',
17
+ 'InstanceGceSetupContainerImage',
17
18
  'InstanceGceSetupDataDisks',
18
19
  'InstanceGceSetupNetworkInterface',
19
20
  'InstanceGceSetupServiceAccount',
21
+ 'InstanceGceSetupShieldedInstanceConfig',
20
22
  'InstanceGceSetupVmImage',
21
23
  'InstanceHealthInfo',
22
24
  'InstanceIamBindingCondition',
@@ -33,6 +35,8 @@ class InstanceGceSetup(dict):
33
35
  suggest = "accelerator_configs"
34
36
  elif key == "bootDisk":
35
37
  suggest = "boot_disk"
38
+ elif key == "containerImage":
39
+ suggest = "container_image"
36
40
  elif key == "dataDisks":
37
41
  suggest = "data_disks"
38
42
  elif key == "disablePublicIp":
@@ -45,6 +49,8 @@ class InstanceGceSetup(dict):
45
49
  suggest = "network_interfaces"
46
50
  elif key == "serviceAccounts":
47
51
  suggest = "service_accounts"
52
+ elif key == "shieldedInstanceConfig":
53
+ suggest = "shielded_instance_config"
48
54
  elif key == "vmImage":
49
55
  suggest = "vm_image"
50
56
 
@@ -62,6 +68,7 @@ class InstanceGceSetup(dict):
62
68
  def __init__(__self__, *,
63
69
  accelerator_configs: Optional[Sequence['outputs.InstanceGceSetupAcceleratorConfig']] = None,
64
70
  boot_disk: Optional['outputs.InstanceGceSetupBootDisk'] = None,
71
+ container_image: Optional['outputs.InstanceGceSetupContainerImage'] = None,
65
72
  data_disks: Optional['outputs.InstanceGceSetupDataDisks'] = None,
66
73
  disable_public_ip: Optional[bool] = None,
67
74
  enable_ip_forwarding: Optional[bool] = None,
@@ -69,6 +76,7 @@ class InstanceGceSetup(dict):
69
76
  metadata: Optional[Mapping[str, str]] = None,
70
77
  network_interfaces: Optional[Sequence['outputs.InstanceGceSetupNetworkInterface']] = None,
71
78
  service_accounts: Optional[Sequence['outputs.InstanceGceSetupServiceAccount']] = None,
79
+ shielded_instance_config: Optional['outputs.InstanceGceSetupShieldedInstanceConfig'] = None,
72
80
  tags: Optional[Sequence[str]] = None,
73
81
  vm_image: Optional['outputs.InstanceGceSetupVmImage'] = None):
74
82
  """
@@ -78,6 +86,8 @@ class InstanceGceSetup(dict):
78
86
  Structure is documented below.
79
87
  :param 'InstanceGceSetupBootDiskArgs' boot_disk: The definition of a boot disk.
80
88
  Structure is documented below.
89
+ :param 'InstanceGceSetupContainerImageArgs' container_image: Use a container image to start the workbench instance.
90
+ Structure is documented below.
81
91
  :param 'InstanceGceSetupDataDisksArgs' data_disks: Data disks attached to the VM instance. Currently supports only one data disk.
82
92
  Structure is documented below.
83
93
  :param bool disable_public_ip: Optional. If true, no external IP will be assigned to this VM instance.
@@ -89,6 +99,10 @@ class InstanceGceSetup(dict):
89
99
  Structure is documented below.
90
100
  :param Sequence['InstanceGceSetupServiceAccountArgs'] service_accounts: The service account that serves as an identity for the VM instance. Currently supports only one service account.
91
101
  Structure is documented below.
102
+ :param 'InstanceGceSetupShieldedInstanceConfigArgs' shielded_instance_config: A set of Shielded Instance options. See [Images using supported Shielded
103
+ VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
104
+ Not all combinations are valid.
105
+ Structure is documented below.
92
106
  :param Sequence[str] tags: Optional. The Compute Engine tags to add to instance (see [Tagging
93
107
  instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
94
108
  :param 'InstanceGceSetupVmImageArgs' vm_image: Definition of a custom Compute Engine virtual machine image for starting
@@ -99,6 +113,8 @@ class InstanceGceSetup(dict):
99
113
  pulumi.set(__self__, "accelerator_configs", accelerator_configs)
100
114
  if boot_disk is not None:
101
115
  pulumi.set(__self__, "boot_disk", boot_disk)
116
+ if container_image is not None:
117
+ pulumi.set(__self__, "container_image", container_image)
102
118
  if data_disks is not None:
103
119
  pulumi.set(__self__, "data_disks", data_disks)
104
120
  if disable_public_ip is not None:
@@ -113,6 +129,8 @@ class InstanceGceSetup(dict):
113
129
  pulumi.set(__self__, "network_interfaces", network_interfaces)
114
130
  if service_accounts is not None:
115
131
  pulumi.set(__self__, "service_accounts", service_accounts)
132
+ if shielded_instance_config is not None:
133
+ pulumi.set(__self__, "shielded_instance_config", shielded_instance_config)
116
134
  if tags is not None:
117
135
  pulumi.set(__self__, "tags", tags)
118
136
  if vm_image is not None:
@@ -138,6 +156,15 @@ class InstanceGceSetup(dict):
138
156
  """
139
157
  return pulumi.get(self, "boot_disk")
140
158
 
159
+ @property
160
+ @pulumi.getter(name="containerImage")
161
+ def container_image(self) -> Optional['outputs.InstanceGceSetupContainerImage']:
162
+ """
163
+ Use a container image to start the workbench instance.
164
+ Structure is documented below.
165
+ """
166
+ return pulumi.get(self, "container_image")
167
+
141
168
  @property
142
169
  @pulumi.getter(name="dataDisks")
143
170
  def data_disks(self) -> Optional['outputs.InstanceGceSetupDataDisks']:
@@ -198,6 +225,17 @@ class InstanceGceSetup(dict):
198
225
  """
199
226
  return pulumi.get(self, "service_accounts")
200
227
 
228
+ @property
229
+ @pulumi.getter(name="shieldedInstanceConfig")
230
+ def shielded_instance_config(self) -> Optional['outputs.InstanceGceSetupShieldedInstanceConfig']:
231
+ """
232
+ A set of Shielded Instance options. See [Images using supported Shielded
233
+ VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
234
+ Not all combinations are valid.
235
+ Structure is documented below.
236
+ """
237
+ return pulumi.get(self, "shielded_instance_config")
238
+
201
239
  @property
202
240
  @pulumi.getter
203
241
  def tags(self) -> Optional[Sequence[str]]:
@@ -360,6 +398,38 @@ class InstanceGceSetupBootDisk(dict):
360
398
  return pulumi.get(self, "kms_key")
361
399
 
362
400
 
401
+ @pulumi.output_type
402
+ class InstanceGceSetupContainerImage(dict):
403
+ def __init__(__self__, *,
404
+ repository: str,
405
+ tag: Optional[str] = None):
406
+ """
407
+ :param str repository: The path to the container image repository.
408
+ For example: gcr.io/{project_id}/{imageName}
409
+ :param str tag: The tag of the container image. If not specified, this defaults to the latest tag.
410
+ """
411
+ pulumi.set(__self__, "repository", repository)
412
+ if tag is not None:
413
+ pulumi.set(__self__, "tag", tag)
414
+
415
+ @property
416
+ @pulumi.getter
417
+ def repository(self) -> str:
418
+ """
419
+ The path to the container image repository.
420
+ For example: gcr.io/{project_id}/{imageName}
421
+ """
422
+ return pulumi.get(self, "repository")
423
+
424
+ @property
425
+ @pulumi.getter
426
+ def tag(self) -> Optional[str]:
427
+ """
428
+ The tag of the container image. If not specified, this defaults to the latest tag.
429
+ """
430
+ return pulumi.get(self, "tag")
431
+
432
+
363
433
  @pulumi.output_type
364
434
  class InstanceGceSetupDataDisks(dict):
365
435
  @staticmethod
@@ -551,6 +621,86 @@ class InstanceGceSetupServiceAccount(dict):
551
621
  return pulumi.get(self, "scopes")
552
622
 
553
623
 
624
+ @pulumi.output_type
625
+ class InstanceGceSetupShieldedInstanceConfig(dict):
626
+ @staticmethod
627
+ def __key_warning(key: str):
628
+ suggest = None
629
+ if key == "enableIntegrityMonitoring":
630
+ suggest = "enable_integrity_monitoring"
631
+ elif key == "enableSecureBoot":
632
+ suggest = "enable_secure_boot"
633
+ elif key == "enableVtpm":
634
+ suggest = "enable_vtpm"
635
+
636
+ if suggest:
637
+ pulumi.log.warn(f"Key '{key}' not found in InstanceGceSetupShieldedInstanceConfig. Access the value via the '{suggest}' property getter instead.")
638
+
639
+ def __getitem__(self, key: str) -> Any:
640
+ InstanceGceSetupShieldedInstanceConfig.__key_warning(key)
641
+ return super().__getitem__(key)
642
+
643
+ def get(self, key: str, default = None) -> Any:
644
+ InstanceGceSetupShieldedInstanceConfig.__key_warning(key)
645
+ return super().get(key, default)
646
+
647
+ def __init__(__self__, *,
648
+ enable_integrity_monitoring: Optional[bool] = None,
649
+ enable_secure_boot: Optional[bool] = None,
650
+ enable_vtpm: Optional[bool] = None):
651
+ """
652
+ :param bool enable_integrity_monitoring: Optional. Defines whether the VM instance has integrity monitoring
653
+ enabled. Enables monitoring and attestation of the boot integrity of the VM
654
+ instance. The attestation is performed against the integrity policy baseline.
655
+ This baseline is initially derived from the implicitly trusted boot image
656
+ when the VM instance is created. Enabled by default.
657
+ :param bool enable_secure_boot: Optional. Defines whether the VM instance has Secure Boot enabled.
658
+ Secure Boot helps ensure that the system only runs authentic software by verifying
659
+ the digital signature of all boot components, and halting the boot process
660
+ if signature verification fails. Disabled by default.
661
+ :param bool enable_vtpm: Optional. Defines whether the VM instance has the vTPM enabled.
662
+ Enabled by default.
663
+ """
664
+ if enable_integrity_monitoring is not None:
665
+ pulumi.set(__self__, "enable_integrity_monitoring", enable_integrity_monitoring)
666
+ if enable_secure_boot is not None:
667
+ pulumi.set(__self__, "enable_secure_boot", enable_secure_boot)
668
+ if enable_vtpm is not None:
669
+ pulumi.set(__self__, "enable_vtpm", enable_vtpm)
670
+
671
+ @property
672
+ @pulumi.getter(name="enableIntegrityMonitoring")
673
+ def enable_integrity_monitoring(self) -> Optional[bool]:
674
+ """
675
+ Optional. Defines whether the VM instance has integrity monitoring
676
+ enabled. Enables monitoring and attestation of the boot integrity of the VM
677
+ instance. The attestation is performed against the integrity policy baseline.
678
+ This baseline is initially derived from the implicitly trusted boot image
679
+ when the VM instance is created. Enabled by default.
680
+ """
681
+ return pulumi.get(self, "enable_integrity_monitoring")
682
+
683
+ @property
684
+ @pulumi.getter(name="enableSecureBoot")
685
+ def enable_secure_boot(self) -> Optional[bool]:
686
+ """
687
+ Optional. Defines whether the VM instance has Secure Boot enabled.
688
+ Secure Boot helps ensure that the system only runs authentic software by verifying
689
+ the digital signature of all boot components, and halting the boot process
690
+ if signature verification fails. Disabled by default.
691
+ """
692
+ return pulumi.get(self, "enable_secure_boot")
693
+
694
+ @property
695
+ @pulumi.getter(name="enableVtpm")
696
+ def enable_vtpm(self) -> Optional[bool]:
697
+ """
698
+ Optional. Defines whether the VM instance has the vTPM enabled.
699
+ Enabled by default.
700
+ """
701
+ return pulumi.get(self, "enable_vtpm")
702
+
703
+
554
704
  @pulumi.output_type
555
705
  class InstanceGceSetupVmImage(dict):
556
706
  def __init__(__self__, *,
@@ -695,7 +845,8 @@ class InstanceUpgradeHistory(dict):
695
845
  vm_image: Optional[str] = None):
696
846
  """
697
847
  :param str action: Optional. Action. Rolloback or Upgrade.
698
- :param str container_image: Optional. The container image before this instance upgrade.
848
+ :param str container_image: Use a container image to start the workbench instance.
849
+ Structure is documented below.
699
850
  :param str create_time: An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ.
700
851
  The milliseconds portion (".SSS") is optional.
701
852
  :param str framework: Optional. The framework of this workbench instance.
@@ -739,7 +890,8 @@ class InstanceUpgradeHistory(dict):
739
890
  @pulumi.getter(name="containerImage")
740
891
  def container_image(self) -> Optional[str]:
741
892
  """
742
- Optional. The container image before this instance upgrade.
893
+ Use a container image to start the workbench instance.
894
+ Structure is documented below.
743
895
  """
744
896
  return pulumi.get(self, "container_image")
745
897
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_gcp
3
- Version: 7.12.0a1709365001
3
+ Version: 7.13.0a1709814369
4
4
  Summary: A Pulumi package for creating and managing Google Cloud Platform resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io