pulumi-gcp 7.23.0a1715621482__py3-none-any.whl → 7.23.0a1715808346__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 (42) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/bigquery/table.py +47 -0
  3. pulumi_gcp/bigtable/__init__.py +1 -0
  4. pulumi_gcp/bigtable/_inputs.py +101 -0
  5. pulumi_gcp/bigtable/authorized_view.py +440 -0
  6. pulumi_gcp/bigtable/outputs.py +119 -0
  7. pulumi_gcp/certificateauthority/certificate_template.py +70 -0
  8. pulumi_gcp/cloudbuildv2/repository.py +2 -2
  9. pulumi_gcp/clouddeploy/_inputs.py +96 -0
  10. pulumi_gcp/clouddeploy/custom_target_type.py +46 -0
  11. pulumi_gcp/clouddeploy/delivery_pipeline.py +7 -7
  12. pulumi_gcp/clouddeploy/outputs.py +96 -1
  13. pulumi_gcp/clouddeploy/target.py +54 -7
  14. pulumi_gcp/compute/_inputs.py +689 -0
  15. pulumi_gcp/compute/firewall_policy_rule.py +125 -10
  16. pulumi_gcp/compute/network_firewall_policy_rule.py +125 -10
  17. pulumi_gcp/compute/outputs.py +684 -0
  18. pulumi_gcp/compute/region_network_firewall_policy_rule.py +125 -10
  19. pulumi_gcp/compute/region_security_policy_rule.py +230 -1
  20. pulumi_gcp/container/_inputs.py +67 -3
  21. pulumi_gcp/container/outputs.py +93 -4
  22. pulumi_gcp/dataflow/flex_template_job.py +7 -7
  23. pulumi_gcp/dataflow/job.py +7 -7
  24. pulumi_gcp/iam/_inputs.py +191 -2
  25. pulumi_gcp/iam/outputs.py +197 -2
  26. pulumi_gcp/iam/workforce_pool_provider.py +245 -0
  27. pulumi_gcp/integrationconnectors/__init__.py +1 -0
  28. pulumi_gcp/integrationconnectors/managed_zone.py +753 -0
  29. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  30. pulumi_gcp/networkconnectivity/regional_endpoint.py +946 -0
  31. pulumi_gcp/networksecurity/firewall_endpoint.py +34 -0
  32. pulumi_gcp/networksecurity/firewall_endpoint_association.py +24 -0
  33. pulumi_gcp/networksecurity/security_profile.py +16 -0
  34. pulumi_gcp/networksecurity/security_profile_group.py +18 -0
  35. pulumi_gcp/networksecurity/tls_inspection_policy.py +16 -0
  36. pulumi_gcp/orgpolicy/policy.py +2 -2
  37. pulumi_gcp/pubsub/subscription.py +4 -4
  38. pulumi_gcp/pulumi-plugin.json +2 -1
  39. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/METADATA +1 -1
  40. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/RECORD +42 -39
  41. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/WHEEL +0 -0
  42. {pulumi_gcp-7.23.0a1715621482.dist-info → pulumi_gcp-7.23.0a1715808346.dist-info}/top_level.txt +0 -0
@@ -5122,7 +5122,9 @@ class ClusterDnsConfig(dict):
5122
5122
  @staticmethod
5123
5123
  def __key_warning(key: str):
5124
5124
  suggest = None
5125
- if key == "clusterDns":
5125
+ if key == "additiveVpcScopeDnsDomain":
5126
+ suggest = "additive_vpc_scope_dns_domain"
5127
+ elif key == "clusterDns":
5126
5128
  suggest = "cluster_dns"
5127
5129
  elif key == "clusterDnsDomain":
5128
5130
  suggest = "cluster_dns_domain"
@@ -5141,14 +5143,18 @@ class ClusterDnsConfig(dict):
5141
5143
  return super().get(key, default)
5142
5144
 
5143
5145
  def __init__(__self__, *,
5146
+ additive_vpc_scope_dns_domain: Optional[str] = None,
5144
5147
  cluster_dns: Optional[str] = None,
5145
5148
  cluster_dns_domain: Optional[str] = None,
5146
5149
  cluster_dns_scope: Optional[str] = None):
5147
5150
  """
5151
+ :param str additive_vpc_scope_dns_domain: This will enable Cloud DNS additive VPC scope. Must provide a domain name that is unique within the VPC. For this to work `cluster_dns = "CLOUD_DNS"` and `cluster_dns_scope = "CLUSTER_SCOPE"` must both be set as well.
5148
5152
  :param str cluster_dns: Which in-cluster DNS provider should be used. `PROVIDER_UNSPECIFIED` (default) or `PLATFORM_DEFAULT` or `CLOUD_DNS`.
5149
5153
  :param str cluster_dns_domain: The suffix used for all cluster service records.
5150
5154
  :param str cluster_dns_scope: The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` (default) or `CLUSTER_SCOPE` or `VPC_SCOPE`.
5151
5155
  """
5156
+ if additive_vpc_scope_dns_domain is not None:
5157
+ pulumi.set(__self__, "additive_vpc_scope_dns_domain", additive_vpc_scope_dns_domain)
5152
5158
  if cluster_dns is not None:
5153
5159
  pulumi.set(__self__, "cluster_dns", cluster_dns)
5154
5160
  if cluster_dns_domain is not None:
@@ -5156,6 +5162,14 @@ class ClusterDnsConfig(dict):
5156
5162
  if cluster_dns_scope is not None:
5157
5163
  pulumi.set(__self__, "cluster_dns_scope", cluster_dns_scope)
5158
5164
 
5165
+ @property
5166
+ @pulumi.getter(name="additiveVpcScopeDnsDomain")
5167
+ def additive_vpc_scope_dns_domain(self) -> Optional[str]:
5168
+ """
5169
+ This will enable Cloud DNS additive VPC scope. Must provide a domain name that is unique within the VPC. For this to work `cluster_dns = "CLOUD_DNS"` and `cluster_dns_scope = "CLUSTER_SCOPE"` must both be set as well.
5170
+ """
5171
+ return pulumi.get(self, "additive_vpc_scope_dns_domain")
5172
+
5159
5173
  @property
5160
5174
  @pulumi.getter(name="clusterDns")
5161
5175
  def cluster_dns(self) -> Optional[str]:
@@ -7065,6 +7079,8 @@ class ClusterNodeConfigAdvancedMachineFeatures(dict):
7065
7079
  suggest = None
7066
7080
  if key == "threadsPerCore":
7067
7081
  suggest = "threads_per_core"
7082
+ elif key == "enableNestedVirtualization":
7083
+ suggest = "enable_nested_virtualization"
7068
7084
 
7069
7085
  if suggest:
7070
7086
  pulumi.log.warn(f"Key '{key}' not found in ClusterNodeConfigAdvancedMachineFeatures. Access the value via the '{suggest}' property getter instead.")
@@ -7078,11 +7094,15 @@ class ClusterNodeConfigAdvancedMachineFeatures(dict):
7078
7094
  return super().get(key, default)
7079
7095
 
7080
7096
  def __init__(__self__, *,
7081
- threads_per_core: int):
7097
+ threads_per_core: int,
7098
+ enable_nested_virtualization: Optional[bool] = None):
7082
7099
  """
7083
7100
  :param int threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
7101
+ :param bool enable_nested_virtualization: Defines whether the instance should have nested virtualization enabled. Defaults to false.
7084
7102
  """
7085
7103
  pulumi.set(__self__, "threads_per_core", threads_per_core)
7104
+ if enable_nested_virtualization is not None:
7105
+ pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
7086
7106
 
7087
7107
  @property
7088
7108
  @pulumi.getter(name="threadsPerCore")
@@ -7092,6 +7112,14 @@ class ClusterNodeConfigAdvancedMachineFeatures(dict):
7092
7112
  """
7093
7113
  return pulumi.get(self, "threads_per_core")
7094
7114
 
7115
+ @property
7116
+ @pulumi.getter(name="enableNestedVirtualization")
7117
+ def enable_nested_virtualization(self) -> Optional[bool]:
7118
+ """
7119
+ Defines whether the instance should have nested virtualization enabled. Defaults to false.
7120
+ """
7121
+ return pulumi.get(self, "enable_nested_virtualization")
7122
+
7095
7123
 
7096
7124
  @pulumi.output_type
7097
7125
  class ClusterNodeConfigConfidentialNodes(dict):
@@ -9618,6 +9646,8 @@ class ClusterNodePoolNodeConfigAdvancedMachineFeatures(dict):
9618
9646
  suggest = None
9619
9647
  if key == "threadsPerCore":
9620
9648
  suggest = "threads_per_core"
9649
+ elif key == "enableNestedVirtualization":
9650
+ suggest = "enable_nested_virtualization"
9621
9651
 
9622
9652
  if suggest:
9623
9653
  pulumi.log.warn(f"Key '{key}' not found in ClusterNodePoolNodeConfigAdvancedMachineFeatures. Access the value via the '{suggest}' property getter instead.")
@@ -9631,11 +9661,15 @@ class ClusterNodePoolNodeConfigAdvancedMachineFeatures(dict):
9631
9661
  return super().get(key, default)
9632
9662
 
9633
9663
  def __init__(__self__, *,
9634
- threads_per_core: int):
9664
+ threads_per_core: int,
9665
+ enable_nested_virtualization: Optional[bool] = None):
9635
9666
  """
9636
9667
  :param int threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
9668
+ :param bool enable_nested_virtualization: Defines whether the instance should have nested virtualization enabled. Defaults to false.
9637
9669
  """
9638
9670
  pulumi.set(__self__, "threads_per_core", threads_per_core)
9671
+ if enable_nested_virtualization is not None:
9672
+ pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
9639
9673
 
9640
9674
  @property
9641
9675
  @pulumi.getter(name="threadsPerCore")
@@ -9645,6 +9679,14 @@ class ClusterNodePoolNodeConfigAdvancedMachineFeatures(dict):
9645
9679
  """
9646
9680
  return pulumi.get(self, "threads_per_core")
9647
9681
 
9682
+ @property
9683
+ @pulumi.getter(name="enableNestedVirtualization")
9684
+ def enable_nested_virtualization(self) -> Optional[bool]:
9685
+ """
9686
+ Defines whether the instance should have nested virtualization enabled. Defaults to false.
9687
+ """
9688
+ return pulumi.get(self, "enable_nested_virtualization")
9689
+
9648
9690
 
9649
9691
  @pulumi.output_type
9650
9692
  class ClusterNodePoolNodeConfigConfidentialNodes(dict):
@@ -12620,6 +12662,8 @@ class NodePoolNodeConfigAdvancedMachineFeatures(dict):
12620
12662
  suggest = None
12621
12663
  if key == "threadsPerCore":
12622
12664
  suggest = "threads_per_core"
12665
+ elif key == "enableNestedVirtualization":
12666
+ suggest = "enable_nested_virtualization"
12623
12667
 
12624
12668
  if suggest:
12625
12669
  pulumi.log.warn(f"Key '{key}' not found in NodePoolNodeConfigAdvancedMachineFeatures. Access the value via the '{suggest}' property getter instead.")
@@ -12633,11 +12677,15 @@ class NodePoolNodeConfigAdvancedMachineFeatures(dict):
12633
12677
  return super().get(key, default)
12634
12678
 
12635
12679
  def __init__(__self__, *,
12636
- threads_per_core: int):
12680
+ threads_per_core: int,
12681
+ enable_nested_virtualization: Optional[bool] = None):
12637
12682
  """
12638
12683
  :param int threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
12684
+ :param bool enable_nested_virtualization: Whether the node should have nested virtualization enabled.
12639
12685
  """
12640
12686
  pulumi.set(__self__, "threads_per_core", threads_per_core)
12687
+ if enable_nested_virtualization is not None:
12688
+ pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
12641
12689
 
12642
12690
  @property
12643
12691
  @pulumi.getter(name="threadsPerCore")
@@ -12647,6 +12695,14 @@ class NodePoolNodeConfigAdvancedMachineFeatures(dict):
12647
12695
  """
12648
12696
  return pulumi.get(self, "threads_per_core")
12649
12697
 
12698
+ @property
12699
+ @pulumi.getter(name="enableNestedVirtualization")
12700
+ def enable_nested_virtualization(self) -> Optional[bool]:
12701
+ """
12702
+ Whether the node should have nested virtualization enabled.
12703
+ """
12704
+ return pulumi.get(self, "enable_nested_virtualization")
12705
+
12650
12706
 
12651
12707
  @pulumi.output_type
12652
12708
  class NodePoolNodeConfigConfidentialNodes(dict):
@@ -14730,18 +14786,29 @@ class GetClusterDefaultSnatStatusResult(dict):
14730
14786
  @pulumi.output_type
14731
14787
  class GetClusterDnsConfigResult(dict):
14732
14788
  def __init__(__self__, *,
14789
+ additive_vpc_scope_dns_domain: str,
14733
14790
  cluster_dns: str,
14734
14791
  cluster_dns_domain: str,
14735
14792
  cluster_dns_scope: str):
14736
14793
  """
14794
+ :param str additive_vpc_scope_dns_domain: Enable additive VPC scope DNS in a GKE cluster.
14737
14795
  :param str cluster_dns: Which in-cluster DNS provider should be used.
14738
14796
  :param str cluster_dns_domain: The suffix used for all cluster service records.
14739
14797
  :param str cluster_dns_scope: The scope of access to cluster DNS records.
14740
14798
  """
14799
+ pulumi.set(__self__, "additive_vpc_scope_dns_domain", additive_vpc_scope_dns_domain)
14741
14800
  pulumi.set(__self__, "cluster_dns", cluster_dns)
14742
14801
  pulumi.set(__self__, "cluster_dns_domain", cluster_dns_domain)
14743
14802
  pulumi.set(__self__, "cluster_dns_scope", cluster_dns_scope)
14744
14803
 
14804
+ @property
14805
+ @pulumi.getter(name="additiveVpcScopeDnsDomain")
14806
+ def additive_vpc_scope_dns_domain(self) -> str:
14807
+ """
14808
+ Enable additive VPC scope DNS in a GKE cluster.
14809
+ """
14810
+ return pulumi.get(self, "additive_vpc_scope_dns_domain")
14811
+
14745
14812
  @property
14746
14813
  @pulumi.getter(name="clusterDns")
14747
14814
  def cluster_dns(self) -> str:
@@ -15870,12 +15937,23 @@ class GetClusterNodeConfigResult(dict):
15870
15937
  @pulumi.output_type
15871
15938
  class GetClusterNodeConfigAdvancedMachineFeatureResult(dict):
15872
15939
  def __init__(__self__, *,
15940
+ enable_nested_virtualization: bool,
15873
15941
  threads_per_core: int):
15874
15942
  """
15943
+ :param bool enable_nested_virtualization: Whether the node should have nested virtualization enabled.
15875
15944
  :param int threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
15876
15945
  """
15946
+ pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
15877
15947
  pulumi.set(__self__, "threads_per_core", threads_per_core)
15878
15948
 
15949
+ @property
15950
+ @pulumi.getter(name="enableNestedVirtualization")
15951
+ def enable_nested_virtualization(self) -> bool:
15952
+ """
15953
+ Whether the node should have nested virtualization enabled.
15954
+ """
15955
+ return pulumi.get(self, "enable_nested_virtualization")
15956
+
15879
15957
  @property
15880
15958
  @pulumi.getter(name="threadsPerCore")
15881
15959
  def threads_per_core(self) -> int:
@@ -17505,12 +17583,23 @@ class GetClusterNodePoolNodeConfigResult(dict):
17505
17583
  @pulumi.output_type
17506
17584
  class GetClusterNodePoolNodeConfigAdvancedMachineFeatureResult(dict):
17507
17585
  def __init__(__self__, *,
17586
+ enable_nested_virtualization: bool,
17508
17587
  threads_per_core: int):
17509
17588
  """
17589
+ :param bool enable_nested_virtualization: Whether the node should have nested virtualization enabled.
17510
17590
  :param int threads_per_core: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.
17511
17591
  """
17592
+ pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
17512
17593
  pulumi.set(__self__, "threads_per_core", threads_per_core)
17513
17594
 
17595
+ @property
17596
+ @pulumi.getter(name="enableNestedVirtualization")
17597
+ def enable_nested_virtualization(self) -> bool:
17598
+ """
17599
+ Whether the node should have nested virtualization enabled.
17600
+ """
17601
+ return pulumi.get(self, "enable_nested_virtualization")
17602
+
17514
17603
  @property
17515
17604
  @pulumi.getter(name="threadsPerCore")
17516
17605
  def threads_per_core(self) -> int:
@@ -71,7 +71,7 @@ class FlexTemplateJobArgs:
71
71
  provided, the provider project is used.
72
72
  :param pulumi.Input[str] region: Immutable. The region in which the created job should run.
73
73
  :param pulumi.Input[str] sdk_container_image: Docker registry location of container image to use for the 'worker harness. Default is the container for the version of the SDK. Note this field is only valid for portable pipelines.
74
- :param pulumi.Input[str] service_account_email: Service account email to run the workers as.
74
+ :param pulumi.Input[str] service_account_email: Service account email to run the workers as. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
75
75
  :param pulumi.Input[str] staging_location: The Cloud Storage path to use for staging files. Must be a valid Cloud Storage URL, beginning with gs://.
76
76
  :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".
77
77
  :param pulumi.Input[str] temp_location: The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with gs://.
@@ -358,7 +358,7 @@ class FlexTemplateJobArgs:
358
358
  @pulumi.getter(name="serviceAccountEmail")
359
359
  def service_account_email(self) -> Optional[pulumi.Input[str]]:
360
360
  """
361
- Service account email to run the workers as.
361
+ Service account email to run the workers as. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
362
362
  """
363
363
  return pulumi.get(self, "service_account_email")
364
364
 
@@ -491,7 +491,7 @@ class _FlexTemplateJobState:
491
491
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
492
492
  :param pulumi.Input[str] region: Immutable. The region in which the created job should run.
493
493
  :param pulumi.Input[str] sdk_container_image: Docker registry location of container image to use for the 'worker harness. Default is the container for the version of the SDK. Note this field is only valid for portable pipelines.
494
- :param pulumi.Input[str] service_account_email: Service account email to run the workers as.
494
+ :param pulumi.Input[str] service_account_email: Service account email to run the workers as. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
495
495
  :param pulumi.Input[str] staging_location: The Cloud Storage path to use for staging files. Must be a valid Cloud Storage URL, beginning with gs://.
496
496
  :param pulumi.Input[str] state: The current state of the resource, selected from the [JobState enum](https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.jobs#Job.JobState)
497
497
  :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".
@@ -824,7 +824,7 @@ class _FlexTemplateJobState:
824
824
  @pulumi.getter(name="serviceAccountEmail")
825
825
  def service_account_email(self) -> Optional[pulumi.Input[str]]:
826
826
  """
827
- Service account email to run the workers as.
827
+ Service account email to run the workers as. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
828
828
  """
829
829
  return pulumi.get(self, "service_account_email")
830
830
 
@@ -1050,7 +1050,7 @@ class FlexTemplateJob(pulumi.CustomResource):
1050
1050
  provided, the provider project is used.
1051
1051
  :param pulumi.Input[str] region: Immutable. The region in which the created job should run.
1052
1052
  :param pulumi.Input[str] sdk_container_image: Docker registry location of container image to use for the 'worker harness. Default is the container for the version of the SDK. Note this field is only valid for portable pipelines.
1053
- :param pulumi.Input[str] service_account_email: Service account email to run the workers as.
1053
+ :param pulumi.Input[str] service_account_email: Service account email to run the workers as. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
1054
1054
  :param pulumi.Input[str] staging_location: The Cloud Storage path to use for staging files. Must be a valid Cloud Storage URL, beginning with gs://.
1055
1055
  :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".
1056
1056
  :param pulumi.Input[str] temp_location: The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with gs://.
@@ -1295,7 +1295,7 @@ class FlexTemplateJob(pulumi.CustomResource):
1295
1295
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
1296
1296
  :param pulumi.Input[str] region: Immutable. The region in which the created job should run.
1297
1297
  :param pulumi.Input[str] sdk_container_image: Docker registry location of container image to use for the 'worker harness. Default is the container for the version of the SDK. Note this field is only valid for portable pipelines.
1298
- :param pulumi.Input[str] service_account_email: Service account email to run the workers as.
1298
+ :param pulumi.Input[str] service_account_email: Service account email to run the workers as. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
1299
1299
  :param pulumi.Input[str] staging_location: The Cloud Storage path to use for staging files. Must be a valid Cloud Storage URL, beginning with gs://.
1300
1300
  :param pulumi.Input[str] state: The current state of the resource, selected from the [JobState enum](https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.jobs#Job.JobState)
1301
1301
  :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK".
@@ -1520,7 +1520,7 @@ class FlexTemplateJob(pulumi.CustomResource):
1520
1520
  @pulumi.getter(name="serviceAccountEmail")
1521
1521
  def service_account_email(self) -> pulumi.Output[str]:
1522
1522
  """
1523
- Service account email to run the workers as.
1523
+ Service account email to run the workers as. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
1524
1524
  """
1525
1525
  return pulumi.get(self, "service_account_email")
1526
1526
 
@@ -57,7 +57,7 @@ class JobArgs:
57
57
  **Note**: do not configure Dataflow options here in parameters.
58
58
  :param pulumi.Input[str] project: The project in which the resource belongs. If it is not provided, the provider project is used.
59
59
  :param pulumi.Input[str] region: The region in which the created job should run.
60
- :param pulumi.Input[str] service_account_email: The Service Account email used to create the job.
60
+ :param pulumi.Input[str] service_account_email: The Service Account email used to create the job. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
61
61
  :param pulumi.Input[bool] skip_wait_on_job_termination: If set to `true`, Pulumi will treat `DRAINING` and `CANCELLING` as terminal states when deleting the resource, and will remove the resource from Pulumi state and move on. See above note.
62
62
  :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK". If the [subnetwork is located in a Shared VPC network](https://cloud.google.com/dataflow/docs/guides/specifying-networks#shared), you must use the complete URL. For example `"googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"`
63
63
  :param pulumi.Input[Mapping[str, Any]] transform_name_mapping: Only applicable when updating a pipeline. Map of transform name prefixes of the job to be replaced with the corresponding name prefixes of the new job. This field is not used outside of update.
@@ -292,7 +292,7 @@ class JobArgs:
292
292
  @pulumi.getter(name="serviceAccountEmail")
293
293
  def service_account_email(self) -> Optional[pulumi.Input[str]]:
294
294
  """
295
- The Service Account email used to create the job.
295
+ The Service Account email used to create the job. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
296
296
  """
297
297
  return pulumi.get(self, "service_account_email")
298
298
 
@@ -399,7 +399,7 @@ class _JobState:
399
399
  :param pulumi.Input[str] project: The project in which the resource belongs. If it is not provided, the provider project is used.
400
400
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
401
401
  :param pulumi.Input[str] region: The region in which the created job should run.
402
- :param pulumi.Input[str] service_account_email: The Service Account email used to create the job.
402
+ :param pulumi.Input[str] service_account_email: The Service Account email used to create the job. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
403
403
  :param pulumi.Input[bool] skip_wait_on_job_termination: If set to `true`, Pulumi will treat `DRAINING` and `CANCELLING` as terminal states when deleting the resource, and will remove the resource from Pulumi state and move on. See above note.
404
404
  :param pulumi.Input[str] state: The current state of the resource, selected from the [JobState enum](https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.jobs#Job.JobState)
405
405
  :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK". If the [subnetwork is located in a Shared VPC network](https://cloud.google.com/dataflow/docs/guides/specifying-networks#shared), you must use the complete URL. For example `"googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"`
@@ -662,7 +662,7 @@ class _JobState:
662
662
  @pulumi.getter(name="serviceAccountEmail")
663
663
  def service_account_email(self) -> Optional[pulumi.Input[str]]:
664
664
  """
665
- The Service Account email used to create the job.
665
+ The Service Account email used to create the job. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
666
666
  """
667
667
  return pulumi.get(self, "service_account_email")
668
668
 
@@ -913,7 +913,7 @@ class Job(pulumi.CustomResource):
913
913
  **Note**: do not configure Dataflow options here in parameters.
914
914
  :param pulumi.Input[str] project: The project in which the resource belongs. If it is not provided, the provider project is used.
915
915
  :param pulumi.Input[str] region: The region in which the created job should run.
916
- :param pulumi.Input[str] service_account_email: The Service Account email used to create the job.
916
+ :param pulumi.Input[str] service_account_email: The Service Account email used to create the job. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
917
917
  :param pulumi.Input[bool] skip_wait_on_job_termination: If set to `true`, Pulumi will treat `DRAINING` and `CANCELLING` as terminal states when deleting the resource, and will remove the resource from Pulumi state and move on. See above note.
918
918
  :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK". If the [subnetwork is located in a Shared VPC network](https://cloud.google.com/dataflow/docs/guides/specifying-networks#shared), you must use the complete URL. For example `"googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"`
919
919
  :param pulumi.Input[str] temp_gcs_location: A writeable location on GCS for the Dataflow job to dump its temporary data.
@@ -1165,7 +1165,7 @@ class Job(pulumi.CustomResource):
1165
1165
  :param pulumi.Input[str] project: The project in which the resource belongs. If it is not provided, the provider project is used.
1166
1166
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
1167
1167
  :param pulumi.Input[str] region: The region in which the created job should run.
1168
- :param pulumi.Input[str] service_account_email: The Service Account email used to create the job.
1168
+ :param pulumi.Input[str] service_account_email: The Service Account email used to create the job. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
1169
1169
  :param pulumi.Input[bool] skip_wait_on_job_termination: If set to `true`, Pulumi will treat `DRAINING` and `CANCELLING` as terminal states when deleting the resource, and will remove the resource from Pulumi state and move on. See above note.
1170
1170
  :param pulumi.Input[str] state: The current state of the resource, selected from the [JobState enum](https://cloud.google.com/dataflow/docs/reference/rest/v1b3/projects.jobs#Job.JobState)
1171
1171
  :param pulumi.Input[str] subnetwork: The subnetwork to which VMs will be assigned. Should be of the form "regions/REGION/subnetworks/SUBNETWORK". If the [subnetwork is located in a Shared VPC network](https://cloud.google.com/dataflow/docs/guides/specifying-networks#shared), you must use the complete URL. For example `"googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"`
@@ -1344,7 +1344,7 @@ class Job(pulumi.CustomResource):
1344
1344
  @pulumi.getter(name="serviceAccountEmail")
1345
1345
  def service_account_email(self) -> pulumi.Output[Optional[str]]:
1346
1346
  """
1347
- The Service Account email used to create the job.
1347
+ The Service Account email used to create the job. This should be just an email e.g. `myserviceaccount@myproject.iam.gserviceaccount.com`. Do not include any `serviceAccount:` or other prefix.
1348
1348
  """
1349
1349
  return pulumi.get(self, "service_account_email")
1350
1350
 
pulumi_gcp/iam/_inputs.py CHANGED
@@ -18,6 +18,10 @@ __all__ = [
18
18
  'DenyPolicyRuleDenyRuleDenialConditionArgs',
19
19
  'WorkforcePoolAccessRestrictionsArgs',
20
20
  'WorkforcePoolAccessRestrictionsAllowedServiceArgs',
21
+ 'WorkforcePoolProviderExtraAttributesOauth2ClientArgs',
22
+ 'WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretArgs',
23
+ 'WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValueArgs',
24
+ 'WorkforcePoolProviderExtraAttributesOauth2ClientQueryParametersArgs',
21
25
  'WorkforcePoolProviderOidcArgs',
22
26
  'WorkforcePoolProviderOidcClientSecretArgs',
23
27
  'WorkforcePoolProviderOidcClientSecretValueArgs',
@@ -494,6 +498,189 @@ class WorkforcePoolAccessRestrictionsAllowedServiceArgs:
494
498
  pulumi.set(self, "domain", value)
495
499
 
496
500
 
501
+ @pulumi.input_type
502
+ class WorkforcePoolProviderExtraAttributesOauth2ClientArgs:
503
+ def __init__(__self__, *,
504
+ attributes_type: pulumi.Input[str],
505
+ client_id: pulumi.Input[str],
506
+ client_secret: pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretArgs'],
507
+ issuer_uri: pulumi.Input[str],
508
+ query_parameters: Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientQueryParametersArgs']] = None):
509
+ """
510
+ :param pulumi.Input[str] attributes_type: Represents the IdP and type of claims that should be fetched.
511
+ * AZURE_AD_GROUPS_MAIL: Used to get the user's group claims from the Azure AD identity provider using configuration provided
512
+ in ExtraAttributesOAuth2Client and 'mail' property of the 'microsoft.graph.group' object is used for claim mapping.
513
+ See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on
514
+ 'microsoft.graph.group' properties. The attributes obtained from idntity provider are mapped to 'assertion.groups'. Possible values: ["AZURE_AD_GROUPS_MAIL"]
515
+ :param pulumi.Input[str] client_id: The OAuth 2.0 client ID for retrieving extra attributes from the identity provider. Required to get the Access Token using client credentials grant flow.
516
+ :param pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretArgs'] client_secret: The OAuth 2.0 client secret for retrieving extra attributes from the identity provider. Required to get the Access Token using client credentials grant flow.
517
+ :param pulumi.Input[str] issuer_uri: The OIDC identity provider's issuer URI. Must be a valid URI using the 'https' scheme. Required to get the OIDC discovery document.
518
+ :param pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientQueryParametersArgs'] query_parameters: Represents the parameters to control which claims are fetched from an IdP.
519
+ """
520
+ pulumi.set(__self__, "attributes_type", attributes_type)
521
+ pulumi.set(__self__, "client_id", client_id)
522
+ pulumi.set(__self__, "client_secret", client_secret)
523
+ pulumi.set(__self__, "issuer_uri", issuer_uri)
524
+ if query_parameters is not None:
525
+ pulumi.set(__self__, "query_parameters", query_parameters)
526
+
527
+ @property
528
+ @pulumi.getter(name="attributesType")
529
+ def attributes_type(self) -> pulumi.Input[str]:
530
+ """
531
+ Represents the IdP and type of claims that should be fetched.
532
+ * AZURE_AD_GROUPS_MAIL: Used to get the user's group claims from the Azure AD identity provider using configuration provided
533
+ in ExtraAttributesOAuth2Client and 'mail' property of the 'microsoft.graph.group' object is used for claim mapping.
534
+ See https://learn.microsoft.com/en-us/graph/api/resources/group?view=graph-rest-1.0#properties for more details on
535
+ 'microsoft.graph.group' properties. The attributes obtained from idntity provider are mapped to 'assertion.groups'. Possible values: ["AZURE_AD_GROUPS_MAIL"]
536
+ """
537
+ return pulumi.get(self, "attributes_type")
538
+
539
+ @attributes_type.setter
540
+ def attributes_type(self, value: pulumi.Input[str]):
541
+ pulumi.set(self, "attributes_type", value)
542
+
543
+ @property
544
+ @pulumi.getter(name="clientId")
545
+ def client_id(self) -> pulumi.Input[str]:
546
+ """
547
+ The OAuth 2.0 client ID for retrieving extra attributes from the identity provider. Required to get the Access Token using client credentials grant flow.
548
+ """
549
+ return pulumi.get(self, "client_id")
550
+
551
+ @client_id.setter
552
+ def client_id(self, value: pulumi.Input[str]):
553
+ pulumi.set(self, "client_id", value)
554
+
555
+ @property
556
+ @pulumi.getter(name="clientSecret")
557
+ def client_secret(self) -> pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretArgs']:
558
+ """
559
+ The OAuth 2.0 client secret for retrieving extra attributes from the identity provider. Required to get the Access Token using client credentials grant flow.
560
+ """
561
+ return pulumi.get(self, "client_secret")
562
+
563
+ @client_secret.setter
564
+ def client_secret(self, value: pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretArgs']):
565
+ pulumi.set(self, "client_secret", value)
566
+
567
+ @property
568
+ @pulumi.getter(name="issuerUri")
569
+ def issuer_uri(self) -> pulumi.Input[str]:
570
+ """
571
+ The OIDC identity provider's issuer URI. Must be a valid URI using the 'https' scheme. Required to get the OIDC discovery document.
572
+ """
573
+ return pulumi.get(self, "issuer_uri")
574
+
575
+ @issuer_uri.setter
576
+ def issuer_uri(self, value: pulumi.Input[str]):
577
+ pulumi.set(self, "issuer_uri", value)
578
+
579
+ @property
580
+ @pulumi.getter(name="queryParameters")
581
+ def query_parameters(self) -> Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientQueryParametersArgs']]:
582
+ """
583
+ Represents the parameters to control which claims are fetched from an IdP.
584
+ """
585
+ return pulumi.get(self, "query_parameters")
586
+
587
+ @query_parameters.setter
588
+ def query_parameters(self, value: Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientQueryParametersArgs']]):
589
+ pulumi.set(self, "query_parameters", value)
590
+
591
+
592
+ @pulumi.input_type
593
+ class WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretArgs:
594
+ def __init__(__self__, *,
595
+ value: Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValueArgs']] = None):
596
+ """
597
+ :param pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValueArgs'] value: The value of the client secret.
598
+ Structure is documented below.
599
+ """
600
+ if value is not None:
601
+ pulumi.set(__self__, "value", value)
602
+
603
+ @property
604
+ @pulumi.getter
605
+ def value(self) -> Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValueArgs']]:
606
+ """
607
+ The value of the client secret.
608
+ Structure is documented below.
609
+ """
610
+ return pulumi.get(self, "value")
611
+
612
+ @value.setter
613
+ def value(self, value: Optional[pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValueArgs']]):
614
+ pulumi.set(self, "value", value)
615
+
616
+
617
+ @pulumi.input_type
618
+ class WorkforcePoolProviderExtraAttributesOauth2ClientClientSecretValueArgs:
619
+ def __init__(__self__, *,
620
+ plain_text: pulumi.Input[str],
621
+ thumbprint: Optional[pulumi.Input[str]] = None):
622
+ """
623
+ :param pulumi.Input[str] plain_text: The plain text of the client secret value.
624
+ :param pulumi.Input[str] thumbprint: (Output)
625
+ A thumbprint to represent the current client secret value.
626
+ """
627
+ pulumi.set(__self__, "plain_text", plain_text)
628
+ if thumbprint is not None:
629
+ pulumi.set(__self__, "thumbprint", thumbprint)
630
+
631
+ @property
632
+ @pulumi.getter(name="plainText")
633
+ def plain_text(self) -> pulumi.Input[str]:
634
+ """
635
+ The plain text of the client secret value.
636
+ """
637
+ return pulumi.get(self, "plain_text")
638
+
639
+ @plain_text.setter
640
+ def plain_text(self, value: pulumi.Input[str]):
641
+ pulumi.set(self, "plain_text", value)
642
+
643
+ @property
644
+ @pulumi.getter
645
+ def thumbprint(self) -> Optional[pulumi.Input[str]]:
646
+ """
647
+ (Output)
648
+ A thumbprint to represent the current client secret value.
649
+ """
650
+ return pulumi.get(self, "thumbprint")
651
+
652
+ @thumbprint.setter
653
+ def thumbprint(self, value: Optional[pulumi.Input[str]]):
654
+ pulumi.set(self, "thumbprint", value)
655
+
656
+
657
+ @pulumi.input_type
658
+ class WorkforcePoolProviderExtraAttributesOauth2ClientQueryParametersArgs:
659
+ def __init__(__self__, *,
660
+ filter: Optional[pulumi.Input[str]] = None):
661
+ """
662
+ :param pulumi.Input[str] filter: The filter used to request specific records from IdP. In case of attributes type as AZURE_AD_GROUPS_MAIL, it represents the
663
+ filter used to request specific groups for users from IdP. By default, all of the groups associated with the user are fetched. The
664
+ groups should be mail enabled and security enabled. See https://learn.microsoft.com/en-us/graph/search-query-parameter for more details.
665
+ """
666
+ if filter is not None:
667
+ pulumi.set(__self__, "filter", filter)
668
+
669
+ @property
670
+ @pulumi.getter
671
+ def filter(self) -> Optional[pulumi.Input[str]]:
672
+ """
673
+ The filter used to request specific records from IdP. In case of attributes type as AZURE_AD_GROUPS_MAIL, it represents the
674
+ filter used to request specific groups for users from IdP. By default, all of the groups associated with the user are fetched. The
675
+ groups should be mail enabled and security enabled. See https://learn.microsoft.com/en-us/graph/search-query-parameter for more details.
676
+ """
677
+ return pulumi.get(self, "filter")
678
+
679
+ @filter.setter
680
+ def filter(self, value: Optional[pulumi.Input[str]]):
681
+ pulumi.set(self, "filter", value)
682
+
683
+
497
684
  @pulumi.input_type
498
685
  class WorkforcePoolProviderOidcArgs:
499
686
  def __init__(__self__, *,
@@ -659,7 +846,6 @@ class WorkforcePoolProviderOidcClientSecretValueArgs:
659
846
  thumbprint: Optional[pulumi.Input[str]] = None):
660
847
  """
661
848
  :param pulumi.Input[str] plain_text: The plain text of the client secret value.
662
- **Note**: This property is sensitive and will not be displayed in the plan.
663
849
  :param pulumi.Input[str] thumbprint: (Output)
664
850
  A thumbprint to represent the current client secret value.
665
851
  """
@@ -672,7 +858,6 @@ class WorkforcePoolProviderOidcClientSecretValueArgs:
672
858
  def plain_text(self) -> pulumi.Input[str]:
673
859
  """
674
860
  The plain text of the client secret value.
675
- **Note**: This property is sensitive and will not be displayed in the plan.
676
861
  """
677
862
  return pulumi.get(self, "plain_text")
678
863
 
@@ -712,6 +897,8 @@ class WorkforcePoolProviderOidcWebSsoConfigArgs:
712
897
  Possible values are: `CODE`, `ID_TOKEN`.
713
898
  :param pulumi.Input[Sequence[pulumi.Input[str]]] additional_scopes: Additional scopes to request for in the OIDC authentication request on top of scopes requested by default. By default, the `openid`, `profile` and `email` scopes that are supported by the identity provider are requested.
714
899
  Each additional scope may be at most 256 characters. A maximum of 10 additional scopes may be configured.
900
+
901
+ <a name="nested_extra_attributes_oauth2_client"></a>The `extra_attributes_oauth2_client` block supports:
715
902
  """
716
903
  pulumi.set(__self__, "assertion_claims_behavior", assertion_claims_behavior)
717
904
  pulumi.set(__self__, "response_type", response_type)
@@ -755,6 +942,8 @@ class WorkforcePoolProviderOidcWebSsoConfigArgs:
755
942
  """
756
943
  Additional scopes to request for in the OIDC authentication request on top of scopes requested by default. By default, the `openid`, `profile` and `email` scopes that are supported by the identity provider are requested.
757
944
  Each additional scope may be at most 256 characters. A maximum of 10 additional scopes may be configured.
945
+
946
+ <a name="nested_extra_attributes_oauth2_client"></a>The `extra_attributes_oauth2_client` block supports:
758
947
  """
759
948
  return pulumi.get(self, "additional_scopes")
760
949