pulumi-gcp 7.38.0a1724479203__py3-none-any.whl → 7.38.0a1724673520__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 (46) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/appengine/flexible_app_version.py +8 -0
  3. pulumi_gcp/applicationintegration/client.py +2 -2
  4. pulumi_gcp/artifactregistry/__init__.py +1 -0
  5. pulumi_gcp/artifactregistry/get_locations.py +167 -0
  6. pulumi_gcp/bigquery/connection.py +12 -0
  7. pulumi_gcp/clouddeploy/_inputs.py +41 -1
  8. pulumi_gcp/clouddeploy/outputs.py +29 -1
  9. pulumi_gcp/cloudfunctionsv2/function.py +2 -0
  10. pulumi_gcp/cloudidentity/__init__.py +1 -0
  11. pulumi_gcp/cloudidentity/get_group_memberships.py +12 -0
  12. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +93 -0
  13. pulumi_gcp/cloudidentity/outputs.py +131 -0
  14. pulumi_gcp/compute/_inputs.py +36 -30
  15. pulumi_gcp/compute/outputs.py +48 -38
  16. pulumi_gcp/compute/region_network_endpoint_group.py +8 -0
  17. pulumi_gcp/compute/subnetwork.py +82 -0
  18. pulumi_gcp/container/_inputs.py +15 -18
  19. pulumi_gcp/container/attached_cluster.py +14 -7
  20. pulumi_gcp/container/outputs.py +10 -12
  21. pulumi_gcp/discoveryengine/__init__.py +1 -0
  22. pulumi_gcp/discoveryengine/schema.py +524 -0
  23. pulumi_gcp/dns/_inputs.py +80 -76
  24. pulumi_gcp/dns/outputs.py +56 -52
  25. pulumi_gcp/managedkafka/_inputs.py +6 -6
  26. pulumi_gcp/managedkafka/cluster.py +7 -7
  27. pulumi_gcp/managedkafka/outputs.py +4 -4
  28. pulumi_gcp/managedkafka/topic.py +7 -7
  29. pulumi_gcp/parallelstore/instance.py +215 -15
  30. pulumi_gcp/pulumi-plugin.json +1 -1
  31. pulumi_gcp/securitycenter/__init__.py +2 -0
  32. pulumi_gcp/securitycenter/_inputs.py +186 -0
  33. pulumi_gcp/securitycenter/folder_notification_config.py +486 -0
  34. pulumi_gcp/securitycenter/outputs.py +118 -0
  35. pulumi_gcp/securitycenter/v2_folder_notification_config.py +575 -0
  36. pulumi_gcp/servicenetworking/connection.py +50 -3
  37. pulumi_gcp/sql/_inputs.py +20 -0
  38. pulumi_gcp/sql/outputs.py +36 -0
  39. pulumi_gcp/vertex/__init__.py +1 -0
  40. pulumi_gcp/vertex/_inputs.py +438 -0
  41. pulumi_gcp/vertex/ai_index_endpoint_deployed_index.py +1170 -0
  42. pulumi_gcp/vertex/outputs.py +393 -0
  43. {pulumi_gcp-7.38.0a1724479203.dist-info → pulumi_gcp-7.38.0a1724673520.dist-info}/METADATA +1 -1
  44. {pulumi_gcp-7.38.0a1724479203.dist-info → pulumi_gcp-7.38.0a1724673520.dist-info}/RECORD +46 -40
  45. {pulumi_gcp-7.38.0a1724479203.dist-info → pulumi_gcp-7.38.0a1724673520.dist-info}/WHEEL +0 -0
  46. {pulumi_gcp-7.38.0a1724479203.dist-info → pulumi_gcp-7.38.0a1724673520.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -4266,6 +4266,14 @@ _utilities.register(
4266
4266
  "gcp:discoveryengine/dataStore:DataStore": "DataStore"
4267
4267
  }
4268
4268
  },
4269
+ {
4270
+ "pkg": "gcp",
4271
+ "mod": "discoveryengine/schema",
4272
+ "fqn": "pulumi_gcp.discoveryengine",
4273
+ "classes": {
4274
+ "gcp:discoveryengine/schema:Schema": "Schema"
4275
+ }
4276
+ },
4269
4277
  {
4270
4278
  "pkg": "gcp",
4271
4279
  "mod": "discoveryengine/searchEngine",
@@ -6994,6 +7002,14 @@ _utilities.register(
6994
7002
  "gcp:securitycenter/folderCustomModule:FolderCustomModule": "FolderCustomModule"
6995
7003
  }
6996
7004
  },
7005
+ {
7006
+ "pkg": "gcp",
7007
+ "mod": "securitycenter/folderNotificationConfig",
7008
+ "fqn": "pulumi_gcp.securitycenter",
7009
+ "classes": {
7010
+ "gcp:securitycenter/folderNotificationConfig:FolderNotificationConfig": "FolderNotificationConfig"
7011
+ }
7012
+ },
6997
7013
  {
6998
7014
  "pkg": "gcp",
6999
7015
  "mod": "securitycenter/instanceIamBinding",
@@ -7130,6 +7146,14 @@ _utilities.register(
7130
7146
  "gcp:securitycenter/v2FolderMuteConfig:V2FolderMuteConfig": "V2FolderMuteConfig"
7131
7147
  }
7132
7148
  },
7149
+ {
7150
+ "pkg": "gcp",
7151
+ "mod": "securitycenter/v2FolderNotificationConfig",
7152
+ "fqn": "pulumi_gcp.securitycenter",
7153
+ "classes": {
7154
+ "gcp:securitycenter/v2FolderNotificationConfig:V2FolderNotificationConfig": "V2FolderNotificationConfig"
7155
+ }
7156
+ },
7133
7157
  {
7134
7158
  "pkg": "gcp",
7135
7159
  "mod": "securitycenter/v2OrganizationMuteConfig",
@@ -7922,6 +7946,14 @@ _utilities.register(
7922
7946
  "gcp:vertex/aiIndexEndpoint:AiIndexEndpoint": "AiIndexEndpoint"
7923
7947
  }
7924
7948
  },
7949
+ {
7950
+ "pkg": "gcp",
7951
+ "mod": "vertex/aiIndexEndpointDeployedIndex",
7952
+ "fqn": "pulumi_gcp.vertex",
7953
+ "classes": {
7954
+ "gcp:vertex/aiIndexEndpointDeployedIndex:AiIndexEndpointDeployedIndex": "AiIndexEndpointDeployedIndex"
7955
+ }
7956
+ },
7925
7957
  {
7926
7958
  "pkg": "gcp",
7927
7959
  "mod": "vertex/aiMetadataStore",
@@ -1146,6 +1146,10 @@ class FlexibleAppVersion(pulumi.CustomResource):
1146
1146
  project=gae_api.project,
1147
1147
  service="default",
1148
1148
  runtime="nodejs",
1149
+ flexible_runtime_settings={
1150
+ "operating_system": "ubuntu22",
1151
+ "runtime_version": "20",
1152
+ },
1149
1153
  entrypoint={
1150
1154
  "shell": "node ./app.js",
1151
1155
  },
@@ -1326,6 +1330,10 @@ class FlexibleAppVersion(pulumi.CustomResource):
1326
1330
  project=gae_api.project,
1327
1331
  service="default",
1328
1332
  runtime="nodejs",
1333
+ flexible_runtime_settings={
1334
+ "operating_system": "ubuntu22",
1335
+ "runtime_version": "20",
1336
+ },
1329
1337
  entrypoint={
1330
1338
  "shell": "node ./app.js",
1331
1339
  },
@@ -366,7 +366,7 @@ class Client(pulumi.CustomResource):
366
366
  rotation_period="7776000s")
367
367
  test_key = gcp.kms.CryptoKeyVersion("test_key", crypto_key=cryptokey.id)
368
368
  service_account = gcp.serviceaccount.Account("service_account",
369
- account_id="my-service-acc",
369
+ account_id="service-acc",
370
370
  display_name="Service Account")
371
371
  example = gcp.applicationintegration.Client("example",
372
372
  location="us-east1",
@@ -468,7 +468,7 @@ class Client(pulumi.CustomResource):
468
468
  rotation_period="7776000s")
469
469
  test_key = gcp.kms.CryptoKeyVersion("test_key", crypto_key=cryptokey.id)
470
470
  service_account = gcp.serviceaccount.Account("service_account",
471
- account_id="my-service-acc",
471
+ account_id="service-acc",
472
472
  display_name="Service Account")
473
473
  example = gcp.applicationintegration.Client("example",
474
474
  location="us-east1",
@@ -6,6 +6,7 @@ from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
8
  from .get_docker_image import *
9
+ from .get_locations import *
9
10
  from .get_repository import *
10
11
  from .get_repository_iam_policy import *
11
12
  from .repository import *
@@ -0,0 +1,167 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = [
18
+ 'GetLocationsResult',
19
+ 'AwaitableGetLocationsResult',
20
+ 'get_locations',
21
+ 'get_locations_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetLocationsResult:
26
+ """
27
+ A collection of values returned by getLocations.
28
+ """
29
+ def __init__(__self__, id=None, locations=None, project=None):
30
+ if id and not isinstance(id, str):
31
+ raise TypeError("Expected argument 'id' to be a str")
32
+ pulumi.set(__self__, "id", id)
33
+ if locations and not isinstance(locations, list):
34
+ raise TypeError("Expected argument 'locations' to be a list")
35
+ pulumi.set(__self__, "locations", locations)
36
+ if project and not isinstance(project, str):
37
+ raise TypeError("Expected argument 'project' to be a str")
38
+ pulumi.set(__self__, "project", project)
39
+
40
+ @property
41
+ @pulumi.getter
42
+ def id(self) -> str:
43
+ """
44
+ The provider-assigned unique ID for this managed resource.
45
+ """
46
+ return pulumi.get(self, "id")
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def locations(self) -> Sequence[str]:
51
+ """
52
+ The list of Artifact Registry locations available for the given project.
53
+ """
54
+ return pulumi.get(self, "locations")
55
+
56
+ @property
57
+ @pulumi.getter
58
+ def project(self) -> str:
59
+ return pulumi.get(self, "project")
60
+
61
+
62
+ class AwaitableGetLocationsResult(GetLocationsResult):
63
+ # pylint: disable=using-constant-test
64
+ def __await__(self):
65
+ if False:
66
+ yield self
67
+ return GetLocationsResult(
68
+ id=self.id,
69
+ locations=self.locations,
70
+ project=self.project)
71
+
72
+
73
+ def get_locations(project: Optional[str] = None,
74
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLocationsResult:
75
+ """
76
+ Get Artifact Registry locations available for a project.
77
+
78
+ To get more information about Artifact Registry, see:
79
+
80
+ * [API documentation](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations/list)
81
+ * How-to Guides
82
+ * [Official Documentation](https://cloud.google.com/artifact-registry/docs/overview)
83
+
84
+ ## Example Usage
85
+
86
+ ```python
87
+ import pulumi
88
+ import pulumi_gcp as gcp
89
+
90
+ available = gcp.artifactregistry.get_locations()
91
+ ```
92
+
93
+ ### Multi-Regional Artifact Registry Deployment
94
+
95
+ ```python
96
+ import pulumi
97
+ import pulumi_gcp as gcp
98
+
99
+ available = gcp.artifactregistry.get_locations()
100
+ repo_one = gcp.artifactregistry.Repository("repo_one",
101
+ location=available.locations[0],
102
+ repository_id="repo-one",
103
+ format="apt")
104
+ repo_two = gcp.artifactregistry.Repository("repo_two",
105
+ location=available.locations[1],
106
+ repository_id="repo-two",
107
+ format="apt")
108
+ ```
109
+
110
+
111
+ :param str project: The project to list versions for. If it
112
+ is not provided, the provider project is used.
113
+ """
114
+ __args__ = dict()
115
+ __args__['project'] = project
116
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
117
+ __ret__ = pulumi.runtime.invoke('gcp:artifactregistry/getLocations:getLocations', __args__, opts=opts, typ=GetLocationsResult).value
118
+
119
+ return AwaitableGetLocationsResult(
120
+ id=pulumi.get(__ret__, 'id'),
121
+ locations=pulumi.get(__ret__, 'locations'),
122
+ project=pulumi.get(__ret__, 'project'))
123
+
124
+
125
+ @_utilities.lift_output_func(get_locations)
126
+ def get_locations_output(project: Optional[pulumi.Input[Optional[str]]] = None,
127
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLocationsResult]:
128
+ """
129
+ Get Artifact Registry locations available for a project.
130
+
131
+ To get more information about Artifact Registry, see:
132
+
133
+ * [API documentation](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations/list)
134
+ * How-to Guides
135
+ * [Official Documentation](https://cloud.google.com/artifact-registry/docs/overview)
136
+
137
+ ## Example Usage
138
+
139
+ ```python
140
+ import pulumi
141
+ import pulumi_gcp as gcp
142
+
143
+ available = gcp.artifactregistry.get_locations()
144
+ ```
145
+
146
+ ### Multi-Regional Artifact Registry Deployment
147
+
148
+ ```python
149
+ import pulumi
150
+ import pulumi_gcp as gcp
151
+
152
+ available = gcp.artifactregistry.get_locations()
153
+ repo_one = gcp.artifactregistry.Repository("repo_one",
154
+ location=available.locations[0],
155
+ repository_id="repo-one",
156
+ format="apt")
157
+ repo_two = gcp.artifactregistry.Repository("repo_two",
158
+ location=available.locations[1],
159
+ repository_id="repo-two",
160
+ format="apt")
161
+ ```
162
+
163
+
164
+ :param str project: The project to list versions for. If it
165
+ is not provided, the provider project is used.
166
+ """
167
+ ...
@@ -751,6 +751,12 @@ class Connection(pulumi.CustomResource):
751
751
  name="user",
752
752
  instance=instance.name,
753
753
  password="tf-test-my-password_77884")
754
+ bq_sa = gcp.bigquery.get_default_service_account()
755
+ project = gcp.organizations.get_project()
756
+ key_sa_user = gcp.projects.IAMMember("key_sa_user",
757
+ project=project.project_id,
758
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
759
+ member=f"serviceAccount:{bq_sa.email}")
754
760
  bq_connection_cmek = gcp.bigquery.Connection("bq-connection-cmek",
755
761
  friendly_name="👋",
756
762
  description="a riveting description",
@@ -1051,6 +1057,12 @@ class Connection(pulumi.CustomResource):
1051
1057
  name="user",
1052
1058
  instance=instance.name,
1053
1059
  password="tf-test-my-password_77884")
1060
+ bq_sa = gcp.bigquery.get_default_service_account()
1061
+ project = gcp.organizations.get_project()
1062
+ key_sa_user = gcp.projects.IAMMember("key_sa_user",
1063
+ project=project.project_id,
1064
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
1065
+ member=f"serviceAccount:{bq_sa.email}")
1054
1066
  bq_connection_cmek = gcp.bigquery.Connection("bq-connection-cmek",
1055
1067
  friendly_name="👋",
1056
1068
  description="a riveting description",
@@ -2122,6 +2122,10 @@ if not MYPY:
2122
2122
  """
2123
2123
  Required. Name of the Kubernetes Service.
2124
2124
  """
2125
+ pod_selector_label: NotRequired[pulumi.Input[str]]
2126
+ """
2127
+ Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
2128
+ """
2125
2129
  route_update_wait_time: NotRequired[pulumi.Input[str]]
2126
2130
  """
2127
2131
  Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
@@ -2139,18 +2143,22 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGa
2139
2143
  deployment: pulumi.Input[str],
2140
2144
  http_route: pulumi.Input[str],
2141
2145
  service: pulumi.Input[str],
2146
+ pod_selector_label: Optional[pulumi.Input[str]] = None,
2142
2147
  route_update_wait_time: Optional[pulumi.Input[str]] = None,
2143
2148
  stable_cutback_duration: Optional[pulumi.Input[str]] = None):
2144
2149
  """
2145
2150
  :param pulumi.Input[str] deployment: Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.
2146
2151
  :param pulumi.Input[str] http_route: Required. Name of the Gateway API HTTPRoute.
2147
2152
  :param pulumi.Input[str] service: Required. Name of the Kubernetes Service.
2153
+ :param pulumi.Input[str] pod_selector_label: Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
2148
2154
  :param pulumi.Input[str] route_update_wait_time: Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
2149
2155
  :param pulumi.Input[str] stable_cutback_duration: Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.
2150
2156
  """
2151
2157
  pulumi.set(__self__, "deployment", deployment)
2152
2158
  pulumi.set(__self__, "http_route", http_route)
2153
2159
  pulumi.set(__self__, "service", service)
2160
+ if pod_selector_label is not None:
2161
+ pulumi.set(__self__, "pod_selector_label", pod_selector_label)
2154
2162
  if route_update_wait_time is not None:
2155
2163
  pulumi.set(__self__, "route_update_wait_time", route_update_wait_time)
2156
2164
  if stable_cutback_duration is not None:
@@ -2192,6 +2200,18 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGa
2192
2200
  def service(self, value: pulumi.Input[str]):
2193
2201
  pulumi.set(self, "service", value)
2194
2202
 
2203
+ @property
2204
+ @pulumi.getter(name="podSelectorLabel")
2205
+ def pod_selector_label(self) -> Optional[pulumi.Input[str]]:
2206
+ """
2207
+ Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
2208
+ """
2209
+ return pulumi.get(self, "pod_selector_label")
2210
+
2211
+ @pod_selector_label.setter
2212
+ def pod_selector_label(self, value: Optional[pulumi.Input[str]]):
2213
+ pulumi.set(self, "pod_selector_label", value)
2214
+
2195
2215
  @property
2196
2216
  @pulumi.getter(name="routeUpdateWaitTime")
2197
2217
  def route_update_wait_time(self) -> Optional[pulumi.Input[str]]:
@@ -2231,6 +2251,10 @@ if not MYPY:
2231
2251
  """
2232
2252
  Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
2233
2253
  """
2254
+ pod_selector_label: NotRequired[pulumi.Input[str]]
2255
+ """
2256
+ Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
2257
+ """
2234
2258
  elif False:
2235
2259
  DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesServiceNetworkingArgsDict: TypeAlias = Mapping[str, Any]
2236
2260
 
@@ -2239,16 +2263,20 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesSe
2239
2263
  def __init__(__self__, *,
2240
2264
  deployment: pulumi.Input[str],
2241
2265
  service: pulumi.Input[str],
2242
- disable_pod_overprovisioning: Optional[pulumi.Input[bool]] = None):
2266
+ disable_pod_overprovisioning: Optional[pulumi.Input[bool]] = None,
2267
+ pod_selector_label: Optional[pulumi.Input[str]] = None):
2243
2268
  """
2244
2269
  :param pulumi.Input[str] deployment: Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.
2245
2270
  :param pulumi.Input[str] service: Required. Name of the Kubernetes Service.
2246
2271
  :param pulumi.Input[bool] disable_pod_overprovisioning: Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
2272
+ :param pulumi.Input[str] pod_selector_label: Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
2247
2273
  """
2248
2274
  pulumi.set(__self__, "deployment", deployment)
2249
2275
  pulumi.set(__self__, "service", service)
2250
2276
  if disable_pod_overprovisioning is not None:
2251
2277
  pulumi.set(__self__, "disable_pod_overprovisioning", disable_pod_overprovisioning)
2278
+ if pod_selector_label is not None:
2279
+ pulumi.set(__self__, "pod_selector_label", pod_selector_label)
2252
2280
 
2253
2281
  @property
2254
2282
  @pulumi.getter
@@ -2286,6 +2314,18 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesSe
2286
2314
  def disable_pod_overprovisioning(self, value: Optional[pulumi.Input[bool]]):
2287
2315
  pulumi.set(self, "disable_pod_overprovisioning", value)
2288
2316
 
2317
+ @property
2318
+ @pulumi.getter(name="podSelectorLabel")
2319
+ def pod_selector_label(self) -> Optional[pulumi.Input[str]]:
2320
+ """
2321
+ Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
2322
+ """
2323
+ return pulumi.get(self, "pod_selector_label")
2324
+
2325
+ @pod_selector_label.setter
2326
+ def pod_selector_label(self, value: Optional[pulumi.Input[str]]):
2327
+ pulumi.set(self, "pod_selector_label", value)
2328
+
2289
2329
 
2290
2330
  if not MYPY:
2291
2331
  class DeliveryPipelineSerialPipelineStageStrategyStandardArgsDict(TypedDict):
@@ -1575,6 +1575,8 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGa
1575
1575
  suggest = None
1576
1576
  if key == "httpRoute":
1577
1577
  suggest = "http_route"
1578
+ elif key == "podSelectorLabel":
1579
+ suggest = "pod_selector_label"
1578
1580
  elif key == "routeUpdateWaitTime":
1579
1581
  suggest = "route_update_wait_time"
1580
1582
  elif key == "stableCutbackDuration":
@@ -1595,18 +1597,22 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGa
1595
1597
  deployment: str,
1596
1598
  http_route: str,
1597
1599
  service: str,
1600
+ pod_selector_label: Optional[str] = None,
1598
1601
  route_update_wait_time: Optional[str] = None,
1599
1602
  stable_cutback_duration: Optional[str] = None):
1600
1603
  """
1601
1604
  :param str deployment: Required. Name of the Kubernetes Deployment whose traffic is managed by the specified HTTPRoute and Service.
1602
1605
  :param str http_route: Required. Name of the Gateway API HTTPRoute.
1603
1606
  :param str service: Required. Name of the Kubernetes Service.
1607
+ :param str pod_selector_label: Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
1604
1608
  :param str route_update_wait_time: Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.
1605
1609
  :param str stable_cutback_duration: Optional. The amount of time to migrate traffic back from the canary Service to the original Service during the stable phase deployment. If specified, must be between 15s and 3600s. If unspecified, there is no cutback time.
1606
1610
  """
1607
1611
  pulumi.set(__self__, "deployment", deployment)
1608
1612
  pulumi.set(__self__, "http_route", http_route)
1609
1613
  pulumi.set(__self__, "service", service)
1614
+ if pod_selector_label is not None:
1615
+ pulumi.set(__self__, "pod_selector_label", pod_selector_label)
1610
1616
  if route_update_wait_time is not None:
1611
1617
  pulumi.set(__self__, "route_update_wait_time", route_update_wait_time)
1612
1618
  if stable_cutback_duration is not None:
@@ -1636,6 +1642,14 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesGa
1636
1642
  """
1637
1643
  return pulumi.get(self, "service")
1638
1644
 
1645
+ @property
1646
+ @pulumi.getter(name="podSelectorLabel")
1647
+ def pod_selector_label(self) -> Optional[str]:
1648
+ """
1649
+ Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.
1650
+ """
1651
+ return pulumi.get(self, "pod_selector_label")
1652
+
1639
1653
  @property
1640
1654
  @pulumi.getter(name="routeUpdateWaitTime")
1641
1655
  def route_update_wait_time(self) -> Optional[str]:
@@ -1660,6 +1674,8 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesSe
1660
1674
  suggest = None
1661
1675
  if key == "disablePodOverprovisioning":
1662
1676
  suggest = "disable_pod_overprovisioning"
1677
+ elif key == "podSelectorLabel":
1678
+ suggest = "pod_selector_label"
1663
1679
 
1664
1680
  if suggest:
1665
1681
  pulumi.log.warn(f"Key '{key}' not found in DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesServiceNetworking. Access the value via the '{suggest}' property getter instead.")
@@ -1675,16 +1691,20 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesSe
1675
1691
  def __init__(__self__, *,
1676
1692
  deployment: str,
1677
1693
  service: str,
1678
- disable_pod_overprovisioning: Optional[bool] = None):
1694
+ disable_pod_overprovisioning: Optional[bool] = None,
1695
+ pod_selector_label: Optional[str] = None):
1679
1696
  """
1680
1697
  :param str deployment: Required. Name of the Kubernetes Deployment whose traffic is managed by the specified Service.
1681
1698
  :param str service: Required. Name of the Kubernetes Service.
1682
1699
  :param bool disable_pod_overprovisioning: Optional. Whether to disable Pod overprovisioning. If Pod overprovisioning is disabled then Cloud Deploy will limit the number of total Pods used for the deployment strategy to the number of Pods the Deployment has on the cluster.
1700
+ :param str pod_selector_label: Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
1683
1701
  """
1684
1702
  pulumi.set(__self__, "deployment", deployment)
1685
1703
  pulumi.set(__self__, "service", service)
1686
1704
  if disable_pod_overprovisioning is not None:
1687
1705
  pulumi.set(__self__, "disable_pod_overprovisioning", disable_pod_overprovisioning)
1706
+ if pod_selector_label is not None:
1707
+ pulumi.set(__self__, "pod_selector_label", pod_selector_label)
1688
1708
 
1689
1709
  @property
1690
1710
  @pulumi.getter
@@ -1710,6 +1730,14 @@ class DeliveryPipelineSerialPipelineStageStrategyCanaryRuntimeConfigKubernetesSe
1710
1730
  """
1711
1731
  return pulumi.get(self, "disable_pod_overprovisioning")
1712
1732
 
1733
+ @property
1734
+ @pulumi.getter(name="podSelectorLabel")
1735
+ def pod_selector_label(self) -> Optional[str]:
1736
+ """
1737
+ Optional. The label to use when selecting Pods for the Deployment resource. This label must already be present in the Deployment.
1738
+ """
1739
+ return pulumi.get(self, "pod_selector_label")
1740
+
1713
1741
 
1714
1742
  @pulumi.output_type
1715
1743
  class DeliveryPipelineSerialPipelineStageStrategyStandard(dict):
@@ -579,6 +579,7 @@ class Function(pulumi.CustomResource):
579
579
  "available_cpu": "4",
580
580
  "environment_variables": {
581
581
  "servic_e__confi_g__test": "config_test",
582
+ "servic_e__confi_g__dif_f__test": account.email,
582
583
  },
583
584
  "ingress_settings": "ALLOW_INTERNAL_ONLY",
584
585
  "all_traffic_on_latest_revision": True,
@@ -1384,6 +1385,7 @@ class Function(pulumi.CustomResource):
1384
1385
  "available_cpu": "4",
1385
1386
  "environment_variables": {
1386
1387
  "servic_e__confi_g__test": "config_test",
1388
+ "servic_e__confi_g__dif_f__test": account.email,
1387
1389
  },
1388
1390
  "ingress_settings": "ALLOW_INTERNAL_ONLY",
1389
1391
  "all_traffic_on_latest_revision": True,
@@ -7,6 +7,7 @@ import typing
7
7
  # Export this package's modules as members:
8
8
  from .get_group_lookup import *
9
9
  from .get_group_memberships import *
10
+ from .get_group_transitive_memberships import *
10
11
  from .get_groups import *
11
12
  from .group import *
12
13
  from .group_membership import *
@@ -78,6 +78,12 @@ def get_group_memberships(group: Optional[str] = None,
78
78
 
79
79
  https://cloud.google.com/identity/docs/concepts/overview#memberships
80
80
 
81
+ To get more information about GroupMembership, see:
82
+
83
+ * [API documentation](https://cloud.google.com/identity/docs/reference/rest/v1/groups.memberships)
84
+ * How-to Guides
85
+ * [Official Documentation](https://cloud.google.com/identity/docs/how-to/memberships-google-groups)
86
+
81
87
  ## Example Usage
82
88
 
83
89
 
@@ -102,6 +108,12 @@ def get_group_memberships_output(group: Optional[pulumi.Input[str]] = None,
102
108
 
103
109
  https://cloud.google.com/identity/docs/concepts/overview#memberships
104
110
 
111
+ To get more information about GroupMembership, see:
112
+
113
+ * [API documentation](https://cloud.google.com/identity/docs/reference/rest/v1/groups.memberships)
114
+ * How-to Guides
115
+ * [Official Documentation](https://cloud.google.com/identity/docs/how-to/memberships-google-groups)
116
+
105
117
  ## Example Usage
106
118
 
107
119
 
@@ -0,0 +1,93 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetGroupTransitiveMembershipsResult',
20
+ 'AwaitableGetGroupTransitiveMembershipsResult',
21
+ 'get_group_transitive_memberships',
22
+ 'get_group_transitive_memberships_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetGroupTransitiveMembershipsResult:
27
+ """
28
+ A collection of values returned by getGroupTransitiveMemberships.
29
+ """
30
+ def __init__(__self__, group=None, id=None, memberships=None):
31
+ if group and not isinstance(group, str):
32
+ raise TypeError("Expected argument 'group' to be a str")
33
+ pulumi.set(__self__, "group", group)
34
+ if id and not isinstance(id, str):
35
+ raise TypeError("Expected argument 'id' to be a str")
36
+ pulumi.set(__self__, "id", id)
37
+ if memberships and not isinstance(memberships, list):
38
+ raise TypeError("Expected argument 'memberships' to be a list")
39
+ pulumi.set(__self__, "memberships", memberships)
40
+
41
+ @property
42
+ @pulumi.getter
43
+ def group(self) -> str:
44
+ return pulumi.get(self, "group")
45
+
46
+ @property
47
+ @pulumi.getter
48
+ def id(self) -> str:
49
+ """
50
+ The provider-assigned unique ID for this managed resource.
51
+ """
52
+ return pulumi.get(self, "id")
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def memberships(self) -> Sequence['outputs.GetGroupTransitiveMembershipsMembershipResult']:
57
+ return pulumi.get(self, "memberships")
58
+
59
+
60
+ class AwaitableGetGroupTransitiveMembershipsResult(GetGroupTransitiveMembershipsResult):
61
+ # pylint: disable=using-constant-test
62
+ def __await__(self):
63
+ if False:
64
+ yield self
65
+ return GetGroupTransitiveMembershipsResult(
66
+ group=self.group,
67
+ id=self.id,
68
+ memberships=self.memberships)
69
+
70
+
71
+ def get_group_transitive_memberships(group: Optional[str] = None,
72
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGroupTransitiveMembershipsResult:
73
+ """
74
+ Use this data source to access information about an existing resource.
75
+ """
76
+ __args__ = dict()
77
+ __args__['group'] = group
78
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
79
+ __ret__ = pulumi.runtime.invoke('gcp:cloudidentity/getGroupTransitiveMemberships:getGroupTransitiveMemberships', __args__, opts=opts, typ=GetGroupTransitiveMembershipsResult).value
80
+
81
+ return AwaitableGetGroupTransitiveMembershipsResult(
82
+ group=pulumi.get(__ret__, 'group'),
83
+ id=pulumi.get(__ret__, 'id'),
84
+ memberships=pulumi.get(__ret__, 'memberships'))
85
+
86
+
87
+ @_utilities.lift_output_func(get_group_transitive_memberships)
88
+ def get_group_transitive_memberships_output(group: Optional[pulumi.Input[str]] = None,
89
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGroupTransitiveMembershipsResult]:
90
+ """
91
+ Use this data source to access information about an existing resource.
92
+ """
93
+ ...