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
@@ -0,0 +1,253 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = ['TargetIamPolicyArgs', 'TargetIamPolicy']
13
+
14
+ @pulumi.input_type
15
+ class TargetIamPolicyArgs:
16
+ def __init__(__self__, *,
17
+ policy_data: pulumi.Input[str],
18
+ location: Optional[pulumi.Input[str]] = None,
19
+ name: Optional[pulumi.Input[str]] = None,
20
+ project: Optional[pulumi.Input[str]] = None):
21
+ """
22
+ The set of arguments for constructing a TargetIamPolicy resource.
23
+ """
24
+ pulumi.set(__self__, "policy_data", policy_data)
25
+ if location is not None:
26
+ pulumi.set(__self__, "location", location)
27
+ if name is not None:
28
+ pulumi.set(__self__, "name", name)
29
+ if project is not None:
30
+ pulumi.set(__self__, "project", project)
31
+
32
+ @property
33
+ @pulumi.getter(name="policyData")
34
+ def policy_data(self) -> pulumi.Input[str]:
35
+ return pulumi.get(self, "policy_data")
36
+
37
+ @policy_data.setter
38
+ def policy_data(self, value: pulumi.Input[str]):
39
+ pulumi.set(self, "policy_data", value)
40
+
41
+ @property
42
+ @pulumi.getter
43
+ def location(self) -> Optional[pulumi.Input[str]]:
44
+ return pulumi.get(self, "location")
45
+
46
+ @location.setter
47
+ def location(self, value: Optional[pulumi.Input[str]]):
48
+ pulumi.set(self, "location", value)
49
+
50
+ @property
51
+ @pulumi.getter
52
+ def name(self) -> Optional[pulumi.Input[str]]:
53
+ return pulumi.get(self, "name")
54
+
55
+ @name.setter
56
+ def name(self, value: Optional[pulumi.Input[str]]):
57
+ pulumi.set(self, "name", value)
58
+
59
+ @property
60
+ @pulumi.getter
61
+ def project(self) -> Optional[pulumi.Input[str]]:
62
+ return pulumi.get(self, "project")
63
+
64
+ @project.setter
65
+ def project(self, value: Optional[pulumi.Input[str]]):
66
+ pulumi.set(self, "project", value)
67
+
68
+
69
+ @pulumi.input_type
70
+ class _TargetIamPolicyState:
71
+ def __init__(__self__, *,
72
+ etag: Optional[pulumi.Input[str]] = None,
73
+ location: Optional[pulumi.Input[str]] = None,
74
+ name: Optional[pulumi.Input[str]] = None,
75
+ policy_data: Optional[pulumi.Input[str]] = None,
76
+ project: Optional[pulumi.Input[str]] = None):
77
+ """
78
+ Input properties used for looking up and filtering TargetIamPolicy resources.
79
+ """
80
+ if etag is not None:
81
+ pulumi.set(__self__, "etag", etag)
82
+ if location is not None:
83
+ pulumi.set(__self__, "location", location)
84
+ if name is not None:
85
+ pulumi.set(__self__, "name", name)
86
+ if policy_data is not None:
87
+ pulumi.set(__self__, "policy_data", policy_data)
88
+ if project is not None:
89
+ pulumi.set(__self__, "project", project)
90
+
91
+ @property
92
+ @pulumi.getter
93
+ def etag(self) -> Optional[pulumi.Input[str]]:
94
+ return pulumi.get(self, "etag")
95
+
96
+ @etag.setter
97
+ def etag(self, value: Optional[pulumi.Input[str]]):
98
+ pulumi.set(self, "etag", value)
99
+
100
+ @property
101
+ @pulumi.getter
102
+ def location(self) -> Optional[pulumi.Input[str]]:
103
+ return pulumi.get(self, "location")
104
+
105
+ @location.setter
106
+ def location(self, value: Optional[pulumi.Input[str]]):
107
+ pulumi.set(self, "location", value)
108
+
109
+ @property
110
+ @pulumi.getter
111
+ def name(self) -> Optional[pulumi.Input[str]]:
112
+ return pulumi.get(self, "name")
113
+
114
+ @name.setter
115
+ def name(self, value: Optional[pulumi.Input[str]]):
116
+ pulumi.set(self, "name", value)
117
+
118
+ @property
119
+ @pulumi.getter(name="policyData")
120
+ def policy_data(self) -> Optional[pulumi.Input[str]]:
121
+ return pulumi.get(self, "policy_data")
122
+
123
+ @policy_data.setter
124
+ def policy_data(self, value: Optional[pulumi.Input[str]]):
125
+ pulumi.set(self, "policy_data", value)
126
+
127
+ @property
128
+ @pulumi.getter
129
+ def project(self) -> Optional[pulumi.Input[str]]:
130
+ return pulumi.get(self, "project")
131
+
132
+ @project.setter
133
+ def project(self, value: Optional[pulumi.Input[str]]):
134
+ pulumi.set(self, "project", value)
135
+
136
+
137
+ class TargetIamPolicy(pulumi.CustomResource):
138
+ @overload
139
+ def __init__(__self__,
140
+ resource_name: str,
141
+ opts: Optional[pulumi.ResourceOptions] = None,
142
+ location: Optional[pulumi.Input[str]] = None,
143
+ name: Optional[pulumi.Input[str]] = None,
144
+ policy_data: Optional[pulumi.Input[str]] = None,
145
+ project: Optional[pulumi.Input[str]] = None,
146
+ __props__=None):
147
+ """
148
+ Create a TargetIamPolicy resource with the given unique name, props, and options.
149
+ :param str resource_name: The name of the resource.
150
+ :param pulumi.ResourceOptions opts: Options for the resource.
151
+ """
152
+ ...
153
+ @overload
154
+ def __init__(__self__,
155
+ resource_name: str,
156
+ args: TargetIamPolicyArgs,
157
+ opts: Optional[pulumi.ResourceOptions] = None):
158
+ """
159
+ Create a TargetIamPolicy resource with the given unique name, props, and options.
160
+ :param str resource_name: The name of the resource.
161
+ :param TargetIamPolicyArgs args: The arguments to use to populate this resource's properties.
162
+ :param pulumi.ResourceOptions opts: Options for the resource.
163
+ """
164
+ ...
165
+ def __init__(__self__, resource_name: str, *args, **kwargs):
166
+ resource_args, opts = _utilities.get_resource_args_opts(TargetIamPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
167
+ if resource_args is not None:
168
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
169
+ else:
170
+ __self__._internal_init(resource_name, *args, **kwargs)
171
+
172
+ def _internal_init(__self__,
173
+ resource_name: str,
174
+ opts: Optional[pulumi.ResourceOptions] = None,
175
+ location: Optional[pulumi.Input[str]] = None,
176
+ name: Optional[pulumi.Input[str]] = None,
177
+ policy_data: Optional[pulumi.Input[str]] = None,
178
+ project: Optional[pulumi.Input[str]] = None,
179
+ __props__=None):
180
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
181
+ if not isinstance(opts, pulumi.ResourceOptions):
182
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
183
+ if opts.id is None:
184
+ if __props__ is not None:
185
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
186
+ __props__ = TargetIamPolicyArgs.__new__(TargetIamPolicyArgs)
187
+
188
+ __props__.__dict__["location"] = location
189
+ __props__.__dict__["name"] = name
190
+ if policy_data is None and not opts.urn:
191
+ raise TypeError("Missing required property 'policy_data'")
192
+ __props__.__dict__["policy_data"] = policy_data
193
+ __props__.__dict__["project"] = project
194
+ __props__.__dict__["etag"] = None
195
+ super(TargetIamPolicy, __self__).__init__(
196
+ 'gcp:clouddeploy/targetIamPolicy:TargetIamPolicy',
197
+ resource_name,
198
+ __props__,
199
+ opts)
200
+
201
+ @staticmethod
202
+ def get(resource_name: str,
203
+ id: pulumi.Input[str],
204
+ opts: Optional[pulumi.ResourceOptions] = None,
205
+ etag: Optional[pulumi.Input[str]] = None,
206
+ location: Optional[pulumi.Input[str]] = None,
207
+ name: Optional[pulumi.Input[str]] = None,
208
+ policy_data: Optional[pulumi.Input[str]] = None,
209
+ project: Optional[pulumi.Input[str]] = None) -> 'TargetIamPolicy':
210
+ """
211
+ Get an existing TargetIamPolicy resource's state with the given name, id, and optional extra
212
+ properties used to qualify the lookup.
213
+
214
+ :param str resource_name: The unique name of the resulting resource.
215
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
216
+ :param pulumi.ResourceOptions opts: Options for the resource.
217
+ """
218
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
219
+
220
+ __props__ = _TargetIamPolicyState.__new__(_TargetIamPolicyState)
221
+
222
+ __props__.__dict__["etag"] = etag
223
+ __props__.__dict__["location"] = location
224
+ __props__.__dict__["name"] = name
225
+ __props__.__dict__["policy_data"] = policy_data
226
+ __props__.__dict__["project"] = project
227
+ return TargetIamPolicy(resource_name, opts=opts, __props__=__props__)
228
+
229
+ @property
230
+ @pulumi.getter
231
+ def etag(self) -> pulumi.Output[str]:
232
+ return pulumi.get(self, "etag")
233
+
234
+ @property
235
+ @pulumi.getter
236
+ def location(self) -> pulumi.Output[str]:
237
+ return pulumi.get(self, "location")
238
+
239
+ @property
240
+ @pulumi.getter
241
+ def name(self) -> pulumi.Output[str]:
242
+ return pulumi.get(self, "name")
243
+
244
+ @property
245
+ @pulumi.getter(name="policyData")
246
+ def policy_data(self) -> pulumi.Output[str]:
247
+ return pulumi.get(self, "policy_data")
248
+
249
+ @property
250
+ @pulumi.getter
251
+ def project(self) -> pulumi.Output[str]:
252
+ return pulumi.get(self, "project")
253
+
@@ -722,7 +722,6 @@ class Function(pulumi.CustomResource):
722
722
  service_account_email=account.email,
723
723
  ),
724
724
  event_trigger=gcp.cloudfunctionsv2.FunctionEventTriggerArgs(
725
- trigger_region="us-central1",
726
725
  event_type="google.cloud.storage.object.v1.finalized",
727
726
  retry_policy="RETRY_POLICY_RETRY",
728
727
  service_account_email=account.email,
@@ -1334,7 +1333,6 @@ class Function(pulumi.CustomResource):
1334
1333
  service_account_email=account.email,
1335
1334
  ),
1336
1335
  event_trigger=gcp.cloudfunctionsv2.FunctionEventTriggerArgs(
1337
- trigger_region="us-central1",
1338
1336
  event_type="google.cloud.storage.object.v1.finalized",
1339
1337
  retry_policy="RETRY_POLICY_RETRY",
1340
1338
  service_account_email=account.email,
@@ -2733,7 +2733,8 @@ class ServiceTemplateContainerResourcesArgs:
2733
2733
  limits: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
2734
2734
  startup_cpu_boost: Optional[pulumi.Input[bool]] = None):
2735
2735
  """
2736
- :param pulumi.Input[bool] cpu_idle: Determines whether CPU should be throttled or not outside of requests.
2736
+ :param pulumi.Input[bool] cpu_idle: Determines whether CPU is only allocated during requests. True by default if the parent `resources` field is not set. However, if
2737
+ `resources` is set, this field must be explicitly set to true to preserve the default behavior.
2737
2738
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] limits: Only memory and CPU are supported. Use key `cpu` for CPU limit and `memory` for memory limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2738
2739
  :param pulumi.Input[bool] startup_cpu_boost: Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
2739
2740
  """
@@ -2748,7 +2749,8 @@ class ServiceTemplateContainerResourcesArgs:
2748
2749
  @pulumi.getter(name="cpuIdle")
2749
2750
  def cpu_idle(self) -> Optional[pulumi.Input[bool]]:
2750
2751
  """
2751
- Determines whether CPU should be throttled or not outside of requests.
2752
+ Determines whether CPU is only allocated during requests. True by default if the parent `resources` field is not set. However, if
2753
+ `resources` is set, this field must be explicitly set to true to preserve the default behavior.
2752
2754
  """
2753
2755
  return pulumi.get(self, "cpu_idle")
2754
2756
 
@@ -2700,7 +2700,8 @@ class ServiceTemplateContainerResources(dict):
2700
2700
  limits: Optional[Mapping[str, str]] = None,
2701
2701
  startup_cpu_boost: Optional[bool] = None):
2702
2702
  """
2703
- :param bool cpu_idle: Determines whether CPU should be throttled or not outside of requests.
2703
+ :param bool cpu_idle: Determines whether CPU is only allocated during requests. True by default if the parent `resources` field is not set. However, if
2704
+ `resources` is set, this field must be explicitly set to true to preserve the default behavior.
2704
2705
  :param Mapping[str, str] limits: Only memory and CPU are supported. Use key `cpu` for CPU limit and `memory` for memory limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
2705
2706
  :param bool startup_cpu_boost: Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
2706
2707
  """
@@ -2715,7 +2716,8 @@ class ServiceTemplateContainerResources(dict):
2715
2716
  @pulumi.getter(name="cpuIdle")
2716
2717
  def cpu_idle(self) -> Optional[bool]:
2717
2718
  """
2718
- Determines whether CPU should be throttled or not outside of requests.
2719
+ Determines whether CPU is only allocated during requests. True by default if the parent `resources` field is not set. However, if
2720
+ `resources` is set, this field must be explicitly set to true to preserve the default behavior.
2719
2721
  """
2720
2722
  return pulumi.get(self, "cpu_idle")
2721
2723
 
@@ -5656,7 +5658,8 @@ class GetServiceTemplateContainerResourceResult(dict):
5656
5658
  limits: Mapping[str, str],
5657
5659
  startup_cpu_boost: bool):
5658
5660
  """
5659
- :param bool cpu_idle: Determines whether CPU should be throttled or not outside of requests.
5661
+ :param bool cpu_idle: Determines whether CPU is only allocated during requests. True by default if the parent 'resources' field is not set. However, if
5662
+ 'resources' is set, this field must be explicitly set to true to preserve the default behavior.
5660
5663
  :param Mapping[str, str] limits: Only memory and CPU are supported. Use key 'cpu' for CPU limit and 'memory' for memory limit. Note: The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. The values of the map is string form of the 'quantity' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go
5661
5664
  :param bool startup_cpu_boost: Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
5662
5665
  """
@@ -5668,7 +5671,8 @@ class GetServiceTemplateContainerResourceResult(dict):
5668
5671
  @pulumi.getter(name="cpuIdle")
5669
5672
  def cpu_idle(self) -> bool:
5670
5673
  """
5671
- Determines whether CPU should be throttled or not outside of requests.
5674
+ Determines whether CPU is only allocated during requests. True by default if the parent 'resources' field is not set. However, if
5675
+ 'resources' is set, this field must be explicitly set to true to preserve the default behavior.
5672
5676
  """
5673
5677
  return pulumi.get(self, "cpu_idle")
5674
5678
 
@@ -602,6 +602,7 @@ class EnvironmentConfigMasterAuthorizedNetworksConfigCidrBlockArgs:
602
602
  class EnvironmentConfigNodeConfigArgs:
603
603
  def __init__(__self__, *,
604
604
  composer_internal_ipv4_cidr_block: Optional[pulumi.Input[str]] = None,
605
+ composer_network_attachment: Optional[pulumi.Input[str]] = None,
605
606
  disk_size_gb: Optional[pulumi.Input[int]] = None,
606
607
  enable_ip_masq_agent: Optional[pulumi.Input[bool]] = None,
607
608
  ip_allocation_policy: Optional[pulumi.Input['EnvironmentConfigNodeConfigIpAllocationPolicyArgs']] = None,
@@ -615,6 +616,7 @@ class EnvironmentConfigNodeConfigArgs:
615
616
  zone: Optional[pulumi.Input[str]] = None):
616
617
  """
617
618
  :param pulumi.Input[str] composer_internal_ipv4_cidr_block: IPv4 cidr range that will be used by Composer internal components.
619
+ :param pulumi.Input[str] composer_network_attachment: PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
618
620
  :param pulumi.Input[int] disk_size_gb: The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
619
621
  :param pulumi.Input[bool] enable_ip_masq_agent: Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
620
622
  :param pulumi.Input['EnvironmentConfigNodeConfigIpAllocationPolicyArgs'] ip_allocation_policy: Configuration for controlling how IPs are allocated in the GKE cluster. Cannot be updated.
@@ -623,12 +625,14 @@ class EnvironmentConfigNodeConfigArgs:
623
625
  :param pulumi.Input[str] network: The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone. The network must belong to the environment's project. If unspecified, the "default" network ID in the environment's project is used. If a Custom Subnet Network is provided, subnetwork must also be provided.
624
626
  :param pulumi.Input[Sequence[pulumi.Input[str]]] oauth_scopes: The set of Google API scopes to be made available on all node VMs. Cannot be updated. If empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
625
627
  :param pulumi.Input[str] service_account: The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. If given, note that the service account must have roles/composer.worker for any GCP resources created under the Cloud Composer Environment.
626
- :param pulumi.Input[str] subnetwork: The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
628
+ :param pulumi.Input[str] subnetwork: The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
627
629
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated.
628
630
  :param pulumi.Input[str] zone: The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. "projects/{project}/zones/{zone}"). Must belong to the enclosing environment's project and region. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
629
631
  """
630
632
  if composer_internal_ipv4_cidr_block is not None:
631
633
  pulumi.set(__self__, "composer_internal_ipv4_cidr_block", composer_internal_ipv4_cidr_block)
634
+ if composer_network_attachment is not None:
635
+ pulumi.set(__self__, "composer_network_attachment", composer_network_attachment)
632
636
  if disk_size_gb is not None:
633
637
  pulumi.set(__self__, "disk_size_gb", disk_size_gb)
634
638
  if enable_ip_masq_agent is not None:
@@ -664,6 +668,18 @@ class EnvironmentConfigNodeConfigArgs:
664
668
  def composer_internal_ipv4_cidr_block(self, value: Optional[pulumi.Input[str]]):
665
669
  pulumi.set(self, "composer_internal_ipv4_cidr_block", value)
666
670
 
671
+ @property
672
+ @pulumi.getter(name="composerNetworkAttachment")
673
+ def composer_network_attachment(self) -> Optional[pulumi.Input[str]]:
674
+ """
675
+ PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
676
+ """
677
+ return pulumi.get(self, "composer_network_attachment")
678
+
679
+ @composer_network_attachment.setter
680
+ def composer_network_attachment(self, value: Optional[pulumi.Input[str]]):
681
+ pulumi.set(self, "composer_network_attachment", value)
682
+
667
683
  @property
668
684
  @pulumi.getter(name="diskSizeGb")
669
685
  def disk_size_gb(self) -> Optional[pulumi.Input[int]]:
@@ -764,7 +780,7 @@ class EnvironmentConfigNodeConfigArgs:
764
780
  @pulumi.getter
765
781
  def subnetwork(self) -> Optional[pulumi.Input[str]]:
766
782
  """
767
- The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
783
+ The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
768
784
  """
769
785
  return pulumi.get(self, "subnetwork")
770
786
 
@@ -682,6 +682,8 @@ class EnvironmentConfigNodeConfig(dict):
682
682
  suggest = None
683
683
  if key == "composerInternalIpv4CidrBlock":
684
684
  suggest = "composer_internal_ipv4_cidr_block"
685
+ elif key == "composerNetworkAttachment":
686
+ suggest = "composer_network_attachment"
685
687
  elif key == "diskSizeGb":
686
688
  suggest = "disk_size_gb"
687
689
  elif key == "enableIpMasqAgent":
@@ -710,6 +712,7 @@ class EnvironmentConfigNodeConfig(dict):
710
712
 
711
713
  def __init__(__self__, *,
712
714
  composer_internal_ipv4_cidr_block: Optional[str] = None,
715
+ composer_network_attachment: Optional[str] = None,
713
716
  disk_size_gb: Optional[int] = None,
714
717
  enable_ip_masq_agent: Optional[bool] = None,
715
718
  ip_allocation_policy: Optional['outputs.EnvironmentConfigNodeConfigIpAllocationPolicy'] = None,
@@ -723,6 +726,7 @@ class EnvironmentConfigNodeConfig(dict):
723
726
  zone: Optional[str] = None):
724
727
  """
725
728
  :param str composer_internal_ipv4_cidr_block: IPv4 cidr range that will be used by Composer internal components.
729
+ :param str composer_network_attachment: PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
726
730
  :param int disk_size_gb: The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
727
731
  :param bool enable_ip_masq_agent: Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
728
732
  :param 'EnvironmentConfigNodeConfigIpAllocationPolicyArgs' ip_allocation_policy: Configuration for controlling how IPs are allocated in the GKE cluster. Cannot be updated.
@@ -731,12 +735,14 @@ class EnvironmentConfigNodeConfig(dict):
731
735
  :param str network: The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone. The network must belong to the environment's project. If unspecified, the "default" network ID in the environment's project is used. If a Custom Subnet Network is provided, subnetwork must also be provided.
732
736
  :param Sequence[str] oauth_scopes: The set of Google API scopes to be made available on all node VMs. Cannot be updated. If empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
733
737
  :param str service_account: The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. If given, note that the service account must have roles/composer.worker for any GCP resources created under the Cloud Composer Environment.
734
- :param str subnetwork: The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
738
+ :param str subnetwork: The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
735
739
  :param Sequence[str] tags: The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated.
736
740
  :param str zone: The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. "projects/{project}/zones/{zone}"). Must belong to the enclosing environment's project and region. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
737
741
  """
738
742
  if composer_internal_ipv4_cidr_block is not None:
739
743
  pulumi.set(__self__, "composer_internal_ipv4_cidr_block", composer_internal_ipv4_cidr_block)
744
+ if composer_network_attachment is not None:
745
+ pulumi.set(__self__, "composer_network_attachment", composer_network_attachment)
740
746
  if disk_size_gb is not None:
741
747
  pulumi.set(__self__, "disk_size_gb", disk_size_gb)
742
748
  if enable_ip_masq_agent is not None:
@@ -768,6 +774,14 @@ class EnvironmentConfigNodeConfig(dict):
768
774
  """
769
775
  return pulumi.get(self, "composer_internal_ipv4_cidr_block")
770
776
 
777
+ @property
778
+ @pulumi.getter(name="composerNetworkAttachment")
779
+ def composer_network_attachment(self) -> Optional[str]:
780
+ """
781
+ PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
782
+ """
783
+ return pulumi.get(self, "composer_network_attachment")
784
+
771
785
  @property
772
786
  @pulumi.getter(name="diskSizeGb")
773
787
  def disk_size_gb(self) -> Optional[int]:
@@ -836,7 +850,7 @@ class EnvironmentConfigNodeConfig(dict):
836
850
  @pulumi.getter
837
851
  def subnetwork(self) -> Optional[str]:
838
852
  """
839
- The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
853
+ The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
840
854
  """
841
855
  return pulumi.get(self, "subnetwork")
842
856
 
@@ -2308,6 +2322,7 @@ class GetEnvironmentConfigMasterAuthorizedNetworksConfigCidrBlockResult(dict):
2308
2322
  class GetEnvironmentConfigNodeConfigResult(dict):
2309
2323
  def __init__(__self__, *,
2310
2324
  composer_internal_ipv4_cidr_block: str,
2325
+ composer_network_attachment: str,
2311
2326
  disk_size_gb: int,
2312
2327
  enable_ip_masq_agent: bool,
2313
2328
  ip_allocation_policies: Sequence['outputs.GetEnvironmentConfigNodeConfigIpAllocationPolicyResult'],
@@ -2321,6 +2336,7 @@ class GetEnvironmentConfigNodeConfigResult(dict):
2321
2336
  zone: str):
2322
2337
  """
2323
2338
  :param str composer_internal_ipv4_cidr_block: IPv4 cidr range that will be used by Composer internal components.
2339
+ :param str composer_network_attachment: PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
2324
2340
  :param int disk_size_gb: The disk size in GB used for node VMs. Minimum size is 20GB. If unspecified, defaults to 100GB. Cannot be updated. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
2325
2341
  :param bool enable_ip_masq_agent: Deploys 'ip-masq-agent' daemon set in the GKE cluster and defines nonMasqueradeCIDRs equals to pod IP range so IP masquerading is used for all destination addresses, except between pods traffic. See: https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent
2326
2342
  :param Sequence['GetEnvironmentConfigNodeConfigIpAllocationPolicyArgs'] ip_allocation_policies: Configuration for controlling how IPs are allocated in the GKE cluster. Cannot be updated.
@@ -2329,11 +2345,12 @@ class GetEnvironmentConfigNodeConfigResult(dict):
2329
2345
  :param str network: The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. For example: "projects/{project}/zones/{zone}/machineTypes/{machineType}". Must belong to the enclosing environment's project and region/zone. The network must belong to the environment's project. If unspecified, the "default" network ID in the environment's project is used. If a Custom Subnet Network is provided, subnetwork must also be provided.
2330
2346
  :param Sequence[str] oauth_scopes: The set of Google API scopes to be made available on all node VMs. Cannot be updated. If empty, defaults to ["https://www.googleapis.com/auth/cloud-platform"]. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
2331
2347
  :param str service_account: The Google Cloud Platform Service Account to be used by the node VMs. If a service account is not specified, the "default" Compute Engine service account is used. Cannot be updated. If given, note that the service account must have roles/composer.worker for any GCP resources created under the Cloud Composer Environment.
2332
- :param str subnetwork: The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
2348
+ :param str subnetwork: The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
2333
2349
  :param Sequence[str] tags: The list of instance tags applied to all node VMs. Tags are used to identify valid sources or targets for network firewalls. Each tag within the list must comply with RFC1035. Cannot be updated.
2334
2350
  :param str zone: The Compute Engine zone in which to deploy the VMs running the Apache Airflow software, specified as the zone name or relative resource name (e.g. "projects/{project}/zones/{zone}"). Must belong to the enclosing environment's project and region. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
2335
2351
  """
2336
2352
  pulumi.set(__self__, "composer_internal_ipv4_cidr_block", composer_internal_ipv4_cidr_block)
2353
+ pulumi.set(__self__, "composer_network_attachment", composer_network_attachment)
2337
2354
  pulumi.set(__self__, "disk_size_gb", disk_size_gb)
2338
2355
  pulumi.set(__self__, "enable_ip_masq_agent", enable_ip_masq_agent)
2339
2356
  pulumi.set(__self__, "ip_allocation_policies", ip_allocation_policies)
@@ -2354,6 +2371,14 @@ class GetEnvironmentConfigNodeConfigResult(dict):
2354
2371
  """
2355
2372
  return pulumi.get(self, "composer_internal_ipv4_cidr_block")
2356
2373
 
2374
+ @property
2375
+ @pulumi.getter(name="composerNetworkAttachment")
2376
+ def composer_network_attachment(self) -> str:
2377
+ """
2378
+ PSC (Private Service Connect) Network entry point. Customers can pre-create the Network Attachment and point Cloud Composer environment to use. It is possible to share network attachment among many environments, provided enough IP addresses are available.
2379
+ """
2380
+ return pulumi.get(self, "composer_network_attachment")
2381
+
2357
2382
  @property
2358
2383
  @pulumi.getter(name="diskSizeGb")
2359
2384
  def disk_size_gb(self) -> int:
@@ -2422,7 +2447,7 @@ class GetEnvironmentConfigNodeConfigResult(dict):
2422
2447
  @pulumi.getter
2423
2448
  def subnetwork(self) -> str:
2424
2449
  """
2425
- The Compute Engine subnetwork to be used for machine communications, , specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
2450
+ The Compute Engine subnetwork to be used for machine communications, specified as a self-link, relative resource name (e.g. "projects/{project}/regions/{region}/subnetworks/{subnetwork}"), or by name. If subnetwork is provided, network must also be provided and the subnetwork must belong to the enclosing environment's project and region.
2426
2451
  """
2427
2452
  return pulumi.get(self, "subnetwork")
2428
2453
 
@@ -42,6 +42,7 @@ from .get_default_service_account import *
42
42
  from .get_disk import *
43
43
  from .get_disk_iam_policy import *
44
44
  from .get_forwarding_rule import *
45
+ from .get_forwarding_rules import *
45
46
  from .get_global_address import *
46
47
  from .get_global_forwarding_rule import *
47
48
  from .get_hc_vpn_gateway import *