pulumi-gcp 8.30.1a1747132587__py3-none-any.whl → 8.31.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/alloydb/_inputs.py +164 -0
  3. pulumi_gcp/alloydb/outputs.py +211 -0
  4. pulumi_gcp/apigee/_inputs.py +20 -0
  5. pulumi_gcp/apigee/outputs.py +12 -0
  6. pulumi_gcp/bigquery/routine.py +56 -0
  7. pulumi_gcp/bigtable/table.py +7 -7
  8. pulumi_gcp/certificateauthority/_inputs.py +20 -19
  9. pulumi_gcp/certificateauthority/authority.py +70 -0
  10. pulumi_gcp/certificateauthority/outputs.py +12 -11
  11. pulumi_gcp/cloudfunctionsv2/function.py +4 -4
  12. pulumi_gcp/compute/__init__.py +1 -0
  13. pulumi_gcp/compute/_inputs.py +312 -0
  14. pulumi_gcp/compute/cross_site_network.py +374 -0
  15. pulumi_gcp/compute/get_health_check.py +12 -1
  16. pulumi_gcp/compute/health_check.py +120 -0
  17. pulumi_gcp/compute/outputs.py +353 -0
  18. pulumi_gcp/compute/region_health_check.py +120 -0
  19. pulumi_gcp/container/_inputs.py +6 -6
  20. pulumi_gcp/container/outputs.py +4 -4
  21. pulumi_gcp/dataproc/get_metastore_service.py +1 -12
  22. pulumi_gcp/dataproc/metastore_service.py +0 -61
  23. pulumi_gcp/diagflow/_inputs.py +6280 -2644
  24. pulumi_gcp/diagflow/cx_flow.py +304 -0
  25. pulumi_gcp/diagflow/cx_page.py +290 -0
  26. pulumi_gcp/diagflow/outputs.py +4616 -1862
  27. pulumi_gcp/netapp/backup.py +56 -0
  28. pulumi_gcp/netapp/backup_vault.py +185 -0
  29. pulumi_gcp/netapp/storage_pool.py +2 -2
  30. pulumi_gcp/networkconnectivity/internal_range.py +47 -0
  31. pulumi_gcp/networkconnectivity/regional_endpoint.py +13 -13
  32. pulumi_gcp/networkservices/_inputs.py +43 -0
  33. pulumi_gcp/networkservices/edge_cache_origin.py +61 -0
  34. pulumi_gcp/networkservices/outputs.py +43 -0
  35. pulumi_gcp/pulumi-plugin.json +1 -1
  36. pulumi_gcp/redis/get_instance.py +1 -12
  37. pulumi_gcp/redis/instance.py +0 -61
  38. pulumi_gcp/spanner/database.py +56 -0
  39. pulumi_gcp/spanner/get_database.py +12 -1
  40. pulumi_gcp/storage/bucket.py +4 -4
  41. pulumi_gcp/storage/get_bucket_object_content.py +29 -1
  42. {pulumi_gcp-8.30.1a1747132587.dist-info → pulumi_gcp-8.31.0.dist-info}/METADATA +1 -1
  43. {pulumi_gcp-8.30.1a1747132587.dist-info → pulumi_gcp-8.31.0.dist-info}/RECORD +45 -44
  44. {pulumi_gcp-8.30.1a1747132587.dist-info → pulumi_gcp-8.31.0.dist-info}/WHEEL +1 -1
  45. {pulumi_gcp-8.30.1a1747132587.dist-info → pulumi_gcp-8.31.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -2574,6 +2574,14 @@ _utilities.register(
2574
2574
  "gcp:compute/caExternalAccountKey:CaExternalAccountKey": "CaExternalAccountKey"
2575
2575
  }
2576
2576
  },
2577
+ {
2578
+ "pkg": "gcp",
2579
+ "mod": "compute/crossSiteNetwork",
2580
+ "fqn": "pulumi_gcp.compute",
2581
+ "classes": {
2582
+ "gcp:compute/crossSiteNetwork:CrossSiteNetwork": "CrossSiteNetwork"
2583
+ }
2584
+ },
2577
2585
  {
2578
2586
  "pkg": "gcp",
2579
2587
  "mod": "compute/disk",
@@ -84,6 +84,8 @@ __all__ = [
84
84
  'InstanceObservabilityConfigArgsDict',
85
85
  'InstancePscInstanceConfigArgs',
86
86
  'InstancePscInstanceConfigArgsDict',
87
+ 'InstancePscInstanceConfigPscAutoConnectionArgs',
88
+ 'InstancePscInstanceConfigPscAutoConnectionArgsDict',
87
89
  'InstancePscInstanceConfigPscInterfaceConfigArgs',
88
90
  'InstancePscInstanceConfigPscInterfaceConfigArgsDict',
89
91
  'InstanceQueryInsightsConfigArgs',
@@ -2174,6 +2176,11 @@ if not MYPY:
2174
2176
  List of consumer projects that are allowed to create PSC endpoints to service-attachments to this instance.
2175
2177
  These should be specified as project numbers only.
2176
2178
  """
2179
+ psc_auto_connections: NotRequired[pulumi.Input[Sequence[pulumi.Input['InstancePscInstanceConfigPscAutoConnectionArgsDict']]]]
2180
+ """
2181
+ Configurations for setting up PSC service automation.
2182
+ Structure is documented below.
2183
+ """
2177
2184
  psc_dns_name: NotRequired[pulumi.Input[builtins.str]]
2178
2185
  """
2179
2186
  (Output)
@@ -2200,12 +2207,15 @@ elif False:
2200
2207
  class InstancePscInstanceConfigArgs:
2201
2208
  def __init__(__self__, *,
2202
2209
  allowed_consumer_projects: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
2210
+ psc_auto_connections: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePscInstanceConfigPscAutoConnectionArgs']]]] = None,
2203
2211
  psc_dns_name: Optional[pulumi.Input[builtins.str]] = None,
2204
2212
  psc_interface_configs: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePscInstanceConfigPscInterfaceConfigArgs']]]] = None,
2205
2213
  service_attachment_link: Optional[pulumi.Input[builtins.str]] = None):
2206
2214
  """
2207
2215
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_consumer_projects: List of consumer projects that are allowed to create PSC endpoints to service-attachments to this instance.
2208
2216
  These should be specified as project numbers only.
2217
+ :param pulumi.Input[Sequence[pulumi.Input['InstancePscInstanceConfigPscAutoConnectionArgs']]] psc_auto_connections: Configurations for setting up PSC service automation.
2218
+ Structure is documented below.
2209
2219
  :param pulumi.Input[builtins.str] psc_dns_name: (Output)
2210
2220
  The DNS name of the instance for PSC connectivity.
2211
2221
  Name convention: <uid>.<uid>.<region>.alloydb-psc.goog
@@ -2219,6 +2229,8 @@ class InstancePscInstanceConfigArgs:
2219
2229
  """
2220
2230
  if allowed_consumer_projects is not None:
2221
2231
  pulumi.set(__self__, "allowed_consumer_projects", allowed_consumer_projects)
2232
+ if psc_auto_connections is not None:
2233
+ pulumi.set(__self__, "psc_auto_connections", psc_auto_connections)
2222
2234
  if psc_dns_name is not None:
2223
2235
  pulumi.set(__self__, "psc_dns_name", psc_dns_name)
2224
2236
  if psc_interface_configs is not None:
@@ -2239,6 +2251,19 @@ class InstancePscInstanceConfigArgs:
2239
2251
  def allowed_consumer_projects(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
2240
2252
  pulumi.set(self, "allowed_consumer_projects", value)
2241
2253
 
2254
+ @property
2255
+ @pulumi.getter(name="pscAutoConnections")
2256
+ def psc_auto_connections(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstancePscInstanceConfigPscAutoConnectionArgs']]]]:
2257
+ """
2258
+ Configurations for setting up PSC service automation.
2259
+ Structure is documented below.
2260
+ """
2261
+ return pulumi.get(self, "psc_auto_connections")
2262
+
2263
+ @psc_auto_connections.setter
2264
+ def psc_auto_connections(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePscInstanceConfigPscAutoConnectionArgs']]]]):
2265
+ pulumi.set(self, "psc_auto_connections", value)
2266
+
2242
2267
  @property
2243
2268
  @pulumi.getter(name="pscDnsName")
2244
2269
  def psc_dns_name(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -2283,6 +2308,145 @@ class InstancePscInstanceConfigArgs:
2283
2308
  pulumi.set(self, "service_attachment_link", value)
2284
2309
 
2285
2310
 
2311
+ if not MYPY:
2312
+ class InstancePscInstanceConfigPscAutoConnectionArgsDict(TypedDict):
2313
+ consumer_network: NotRequired[pulumi.Input[builtins.str]]
2314
+ """
2315
+ The consumer network for the PSC service automation, example:
2316
+ "projects/vpc-host-project/global/networks/default".
2317
+ The consumer network might be hosted a different project than the
2318
+ consumer project. The API expects the consumer project specified to be
2319
+ the project ID (and not the project number)
2320
+ """
2321
+ consumer_network_status: NotRequired[pulumi.Input[builtins.str]]
2322
+ """
2323
+ (Output)
2324
+ The status of the service connection policy.
2325
+ """
2326
+ consumer_project: NotRequired[pulumi.Input[builtins.str]]
2327
+ """
2328
+ The consumer project to which the PSC service automation endpoint will
2329
+ be created. The API expects the consumer project to be the project ID(
2330
+ and not the project number).
2331
+ """
2332
+ ip_address: NotRequired[pulumi.Input[builtins.str]]
2333
+ """
2334
+ (Output)
2335
+ The IP address of the PSC service automation endpoint.
2336
+ """
2337
+ status: NotRequired[pulumi.Input[builtins.str]]
2338
+ """
2339
+ (Output)
2340
+ The status of the PSC service automation connection.
2341
+ """
2342
+ elif False:
2343
+ InstancePscInstanceConfigPscAutoConnectionArgsDict: TypeAlias = Mapping[str, Any]
2344
+
2345
+ @pulumi.input_type
2346
+ class InstancePscInstanceConfigPscAutoConnectionArgs:
2347
+ def __init__(__self__, *,
2348
+ consumer_network: Optional[pulumi.Input[builtins.str]] = None,
2349
+ consumer_network_status: Optional[pulumi.Input[builtins.str]] = None,
2350
+ consumer_project: Optional[pulumi.Input[builtins.str]] = None,
2351
+ ip_address: Optional[pulumi.Input[builtins.str]] = None,
2352
+ status: Optional[pulumi.Input[builtins.str]] = None):
2353
+ """
2354
+ :param pulumi.Input[builtins.str] consumer_network: The consumer network for the PSC service automation, example:
2355
+ "projects/vpc-host-project/global/networks/default".
2356
+ The consumer network might be hosted a different project than the
2357
+ consumer project. The API expects the consumer project specified to be
2358
+ the project ID (and not the project number)
2359
+ :param pulumi.Input[builtins.str] consumer_network_status: (Output)
2360
+ The status of the service connection policy.
2361
+ :param pulumi.Input[builtins.str] consumer_project: The consumer project to which the PSC service automation endpoint will
2362
+ be created. The API expects the consumer project to be the project ID(
2363
+ and not the project number).
2364
+ :param pulumi.Input[builtins.str] ip_address: (Output)
2365
+ The IP address of the PSC service automation endpoint.
2366
+ :param pulumi.Input[builtins.str] status: (Output)
2367
+ The status of the PSC service automation connection.
2368
+ """
2369
+ if consumer_network is not None:
2370
+ pulumi.set(__self__, "consumer_network", consumer_network)
2371
+ if consumer_network_status is not None:
2372
+ pulumi.set(__self__, "consumer_network_status", consumer_network_status)
2373
+ if consumer_project is not None:
2374
+ pulumi.set(__self__, "consumer_project", consumer_project)
2375
+ if ip_address is not None:
2376
+ pulumi.set(__self__, "ip_address", ip_address)
2377
+ if status is not None:
2378
+ pulumi.set(__self__, "status", status)
2379
+
2380
+ @property
2381
+ @pulumi.getter(name="consumerNetwork")
2382
+ def consumer_network(self) -> Optional[pulumi.Input[builtins.str]]:
2383
+ """
2384
+ The consumer network for the PSC service automation, example:
2385
+ "projects/vpc-host-project/global/networks/default".
2386
+ The consumer network might be hosted a different project than the
2387
+ consumer project. The API expects the consumer project specified to be
2388
+ the project ID (and not the project number)
2389
+ """
2390
+ return pulumi.get(self, "consumer_network")
2391
+
2392
+ @consumer_network.setter
2393
+ def consumer_network(self, value: Optional[pulumi.Input[builtins.str]]):
2394
+ pulumi.set(self, "consumer_network", value)
2395
+
2396
+ @property
2397
+ @pulumi.getter(name="consumerNetworkStatus")
2398
+ def consumer_network_status(self) -> Optional[pulumi.Input[builtins.str]]:
2399
+ """
2400
+ (Output)
2401
+ The status of the service connection policy.
2402
+ """
2403
+ return pulumi.get(self, "consumer_network_status")
2404
+
2405
+ @consumer_network_status.setter
2406
+ def consumer_network_status(self, value: Optional[pulumi.Input[builtins.str]]):
2407
+ pulumi.set(self, "consumer_network_status", value)
2408
+
2409
+ @property
2410
+ @pulumi.getter(name="consumerProject")
2411
+ def consumer_project(self) -> Optional[pulumi.Input[builtins.str]]:
2412
+ """
2413
+ The consumer project to which the PSC service automation endpoint will
2414
+ be created. The API expects the consumer project to be the project ID(
2415
+ and not the project number).
2416
+ """
2417
+ return pulumi.get(self, "consumer_project")
2418
+
2419
+ @consumer_project.setter
2420
+ def consumer_project(self, value: Optional[pulumi.Input[builtins.str]]):
2421
+ pulumi.set(self, "consumer_project", value)
2422
+
2423
+ @property
2424
+ @pulumi.getter(name="ipAddress")
2425
+ def ip_address(self) -> Optional[pulumi.Input[builtins.str]]:
2426
+ """
2427
+ (Output)
2428
+ The IP address of the PSC service automation endpoint.
2429
+ """
2430
+ return pulumi.get(self, "ip_address")
2431
+
2432
+ @ip_address.setter
2433
+ def ip_address(self, value: Optional[pulumi.Input[builtins.str]]):
2434
+ pulumi.set(self, "ip_address", value)
2435
+
2436
+ @property
2437
+ @pulumi.getter
2438
+ def status(self) -> Optional[pulumi.Input[builtins.str]]:
2439
+ """
2440
+ (Output)
2441
+ The status of the PSC service automation connection.
2442
+ """
2443
+ return pulumi.get(self, "status")
2444
+
2445
+ @status.setter
2446
+ def status(self, value: Optional[pulumi.Input[builtins.str]]):
2447
+ pulumi.set(self, "status", value)
2448
+
2449
+
2286
2450
  if not MYPY:
2287
2451
  class InstancePscInstanceConfigPscInterfaceConfigArgsDict(TypedDict):
2288
2452
  network_attachment_resource: NotRequired[pulumi.Input[builtins.str]]
@@ -51,6 +51,7 @@ __all__ = [
51
51
  'InstanceNetworkConfigAuthorizedExternalNetwork',
52
52
  'InstanceObservabilityConfig',
53
53
  'InstancePscInstanceConfig',
54
+ 'InstancePscInstanceConfigPscAutoConnection',
54
55
  'InstancePscInstanceConfigPscInterfaceConfig',
55
56
  'InstanceQueryInsightsConfig',
56
57
  'InstanceReadPoolConfig',
@@ -85,6 +86,7 @@ __all__ = [
85
86
  'GetInstanceNetworkConfigAuthorizedExternalNetworkResult',
86
87
  'GetInstanceObservabilityConfigResult',
87
88
  'GetInstancePscInstanceConfigResult',
89
+ 'GetInstancePscInstanceConfigPscAutoConnectionResult',
88
90
  'GetInstancePscInstanceConfigPscInterfaceConfigResult',
89
91
  'GetInstanceQueryInsightsConfigResult',
90
92
  'GetInstanceReadPoolConfigResult',
@@ -1894,6 +1896,8 @@ class InstancePscInstanceConfig(dict):
1894
1896
  suggest = None
1895
1897
  if key == "allowedConsumerProjects":
1896
1898
  suggest = "allowed_consumer_projects"
1899
+ elif key == "pscAutoConnections":
1900
+ suggest = "psc_auto_connections"
1897
1901
  elif key == "pscDnsName":
1898
1902
  suggest = "psc_dns_name"
1899
1903
  elif key == "pscInterfaceConfigs":
@@ -1914,12 +1918,15 @@ class InstancePscInstanceConfig(dict):
1914
1918
 
1915
1919
  def __init__(__self__, *,
1916
1920
  allowed_consumer_projects: Optional[Sequence[builtins.str]] = None,
1921
+ psc_auto_connections: Optional[Sequence['outputs.InstancePscInstanceConfigPscAutoConnection']] = None,
1917
1922
  psc_dns_name: Optional[builtins.str] = None,
1918
1923
  psc_interface_configs: Optional[Sequence['outputs.InstancePscInstanceConfigPscInterfaceConfig']] = None,
1919
1924
  service_attachment_link: Optional[builtins.str] = None):
1920
1925
  """
1921
1926
  :param Sequence[builtins.str] allowed_consumer_projects: List of consumer projects that are allowed to create PSC endpoints to service-attachments to this instance.
1922
1927
  These should be specified as project numbers only.
1928
+ :param Sequence['InstancePscInstanceConfigPscAutoConnectionArgs'] psc_auto_connections: Configurations for setting up PSC service automation.
1929
+ Structure is documented below.
1923
1930
  :param builtins.str psc_dns_name: (Output)
1924
1931
  The DNS name of the instance for PSC connectivity.
1925
1932
  Name convention: <uid>.<uid>.<region>.alloydb-psc.goog
@@ -1933,6 +1940,8 @@ class InstancePscInstanceConfig(dict):
1933
1940
  """
1934
1941
  if allowed_consumer_projects is not None:
1935
1942
  pulumi.set(__self__, "allowed_consumer_projects", allowed_consumer_projects)
1943
+ if psc_auto_connections is not None:
1944
+ pulumi.set(__self__, "psc_auto_connections", psc_auto_connections)
1936
1945
  if psc_dns_name is not None:
1937
1946
  pulumi.set(__self__, "psc_dns_name", psc_dns_name)
1938
1947
  if psc_interface_configs is not None:
@@ -1949,6 +1958,15 @@ class InstancePscInstanceConfig(dict):
1949
1958
  """
1950
1959
  return pulumi.get(self, "allowed_consumer_projects")
1951
1960
 
1961
+ @property
1962
+ @pulumi.getter(name="pscAutoConnections")
1963
+ def psc_auto_connections(self) -> Optional[Sequence['outputs.InstancePscInstanceConfigPscAutoConnection']]:
1964
+ """
1965
+ Configurations for setting up PSC service automation.
1966
+ Structure is documented below.
1967
+ """
1968
+ return pulumi.get(self, "psc_auto_connections")
1969
+
1952
1970
  @property
1953
1971
  @pulumi.getter(name="pscDnsName")
1954
1972
  def psc_dns_name(self) -> Optional[builtins.str]:
@@ -1981,6 +1999,114 @@ class InstancePscInstanceConfig(dict):
1981
1999
  return pulumi.get(self, "service_attachment_link")
1982
2000
 
1983
2001
 
2002
+ @pulumi.output_type
2003
+ class InstancePscInstanceConfigPscAutoConnection(dict):
2004
+ @staticmethod
2005
+ def __key_warning(key: str):
2006
+ suggest = None
2007
+ if key == "consumerNetwork":
2008
+ suggest = "consumer_network"
2009
+ elif key == "consumerNetworkStatus":
2010
+ suggest = "consumer_network_status"
2011
+ elif key == "consumerProject":
2012
+ suggest = "consumer_project"
2013
+ elif key == "ipAddress":
2014
+ suggest = "ip_address"
2015
+
2016
+ if suggest:
2017
+ pulumi.log.warn(f"Key '{key}' not found in InstancePscInstanceConfigPscAutoConnection. Access the value via the '{suggest}' property getter instead.")
2018
+
2019
+ def __getitem__(self, key: str) -> Any:
2020
+ InstancePscInstanceConfigPscAutoConnection.__key_warning(key)
2021
+ return super().__getitem__(key)
2022
+
2023
+ def get(self, key: str, default = None) -> Any:
2024
+ InstancePscInstanceConfigPscAutoConnection.__key_warning(key)
2025
+ return super().get(key, default)
2026
+
2027
+ def __init__(__self__, *,
2028
+ consumer_network: Optional[builtins.str] = None,
2029
+ consumer_network_status: Optional[builtins.str] = None,
2030
+ consumer_project: Optional[builtins.str] = None,
2031
+ ip_address: Optional[builtins.str] = None,
2032
+ status: Optional[builtins.str] = None):
2033
+ """
2034
+ :param builtins.str consumer_network: The consumer network for the PSC service automation, example:
2035
+ "projects/vpc-host-project/global/networks/default".
2036
+ The consumer network might be hosted a different project than the
2037
+ consumer project. The API expects the consumer project specified to be
2038
+ the project ID (and not the project number)
2039
+ :param builtins.str consumer_network_status: (Output)
2040
+ The status of the service connection policy.
2041
+ :param builtins.str consumer_project: The consumer project to which the PSC service automation endpoint will
2042
+ be created. The API expects the consumer project to be the project ID(
2043
+ and not the project number).
2044
+ :param builtins.str ip_address: (Output)
2045
+ The IP address of the PSC service automation endpoint.
2046
+ :param builtins.str status: (Output)
2047
+ The status of the PSC service automation connection.
2048
+ """
2049
+ if consumer_network is not None:
2050
+ pulumi.set(__self__, "consumer_network", consumer_network)
2051
+ if consumer_network_status is not None:
2052
+ pulumi.set(__self__, "consumer_network_status", consumer_network_status)
2053
+ if consumer_project is not None:
2054
+ pulumi.set(__self__, "consumer_project", consumer_project)
2055
+ if ip_address is not None:
2056
+ pulumi.set(__self__, "ip_address", ip_address)
2057
+ if status is not None:
2058
+ pulumi.set(__self__, "status", status)
2059
+
2060
+ @property
2061
+ @pulumi.getter(name="consumerNetwork")
2062
+ def consumer_network(self) -> Optional[builtins.str]:
2063
+ """
2064
+ The consumer network for the PSC service automation, example:
2065
+ "projects/vpc-host-project/global/networks/default".
2066
+ The consumer network might be hosted a different project than the
2067
+ consumer project. The API expects the consumer project specified to be
2068
+ the project ID (and not the project number)
2069
+ """
2070
+ return pulumi.get(self, "consumer_network")
2071
+
2072
+ @property
2073
+ @pulumi.getter(name="consumerNetworkStatus")
2074
+ def consumer_network_status(self) -> Optional[builtins.str]:
2075
+ """
2076
+ (Output)
2077
+ The status of the service connection policy.
2078
+ """
2079
+ return pulumi.get(self, "consumer_network_status")
2080
+
2081
+ @property
2082
+ @pulumi.getter(name="consumerProject")
2083
+ def consumer_project(self) -> Optional[builtins.str]:
2084
+ """
2085
+ The consumer project to which the PSC service automation endpoint will
2086
+ be created. The API expects the consumer project to be the project ID(
2087
+ and not the project number).
2088
+ """
2089
+ return pulumi.get(self, "consumer_project")
2090
+
2091
+ @property
2092
+ @pulumi.getter(name="ipAddress")
2093
+ def ip_address(self) -> Optional[builtins.str]:
2094
+ """
2095
+ (Output)
2096
+ The IP address of the PSC service automation endpoint.
2097
+ """
2098
+ return pulumi.get(self, "ip_address")
2099
+
2100
+ @property
2101
+ @pulumi.getter
2102
+ def status(self) -> Optional[builtins.str]:
2103
+ """
2104
+ (Output)
2105
+ The status of the PSC service automation connection.
2106
+ """
2107
+ return pulumi.get(self, "status")
2108
+
2109
+
1984
2110
  @pulumi.output_type
1985
2111
  class InstancePscInstanceConfigPscInterfaceConfig(dict):
1986
2112
  @staticmethod
@@ -3188,12 +3314,14 @@ class GetInstanceObservabilityConfigResult(dict):
3188
3314
  class GetInstancePscInstanceConfigResult(dict):
3189
3315
  def __init__(__self__, *,
3190
3316
  allowed_consumer_projects: Sequence[builtins.str],
3317
+ psc_auto_connections: Sequence['outputs.GetInstancePscInstanceConfigPscAutoConnectionResult'],
3191
3318
  psc_dns_name: builtins.str,
3192
3319
  psc_interface_configs: Sequence['outputs.GetInstancePscInstanceConfigPscInterfaceConfigResult'],
3193
3320
  service_attachment_link: builtins.str):
3194
3321
  """
3195
3322
  :param Sequence[builtins.str] allowed_consumer_projects: List of consumer projects that are allowed to create PSC endpoints to service-attachments to this instance.
3196
3323
  These should be specified as project numbers only.
3324
+ :param Sequence['GetInstancePscInstanceConfigPscAutoConnectionArgs'] psc_auto_connections: Configurations for setting up PSC service automation.
3197
3325
  :param builtins.str psc_dns_name: The DNS name of the instance for PSC connectivity.
3198
3326
  Name convention: <uid>.<uid>.<region>.alloydb-psc.goog
3199
3327
  :param Sequence['GetInstancePscInstanceConfigPscInterfaceConfigArgs'] psc_interface_configs: Configurations for setting up PSC interfaces attached to the instance
@@ -3203,6 +3331,7 @@ class GetInstancePscInstanceConfigResult(dict):
3203
3331
  'projects/<alloydb-tenant-project-number>/regions/<region-name>/serviceAttachments/<service-attachment-name>'
3204
3332
  """
3205
3333
  pulumi.set(__self__, "allowed_consumer_projects", allowed_consumer_projects)
3334
+ pulumi.set(__self__, "psc_auto_connections", psc_auto_connections)
3206
3335
  pulumi.set(__self__, "psc_dns_name", psc_dns_name)
3207
3336
  pulumi.set(__self__, "psc_interface_configs", psc_interface_configs)
3208
3337
  pulumi.set(__self__, "service_attachment_link", service_attachment_link)
@@ -3216,6 +3345,14 @@ class GetInstancePscInstanceConfigResult(dict):
3216
3345
  """
3217
3346
  return pulumi.get(self, "allowed_consumer_projects")
3218
3347
 
3348
+ @property
3349
+ @pulumi.getter(name="pscAutoConnections")
3350
+ def psc_auto_connections(self) -> Sequence['outputs.GetInstancePscInstanceConfigPscAutoConnectionResult']:
3351
+ """
3352
+ Configurations for setting up PSC service automation.
3353
+ """
3354
+ return pulumi.get(self, "psc_auto_connections")
3355
+
3219
3356
  @property
3220
3357
  @pulumi.getter(name="pscDnsName")
3221
3358
  def psc_dns_name(self) -> builtins.str:
@@ -3245,6 +3382,80 @@ class GetInstancePscInstanceConfigResult(dict):
3245
3382
  return pulumi.get(self, "service_attachment_link")
3246
3383
 
3247
3384
 
3385
+ @pulumi.output_type
3386
+ class GetInstancePscInstanceConfigPscAutoConnectionResult(dict):
3387
+ def __init__(__self__, *,
3388
+ consumer_network: builtins.str,
3389
+ consumer_network_status: builtins.str,
3390
+ consumer_project: builtins.str,
3391
+ ip_address: builtins.str,
3392
+ status: builtins.str):
3393
+ """
3394
+ :param builtins.str consumer_network: The consumer network for the PSC service automation, example:
3395
+ "projects/vpc-host-project/global/networks/default".
3396
+ The consumer network might be hosted a different project than the
3397
+ consumer project. The API expects the consumer project specified to be
3398
+ the project ID (and not the project number)
3399
+ :param builtins.str consumer_network_status: The status of the service connection policy.
3400
+ :param builtins.str consumer_project: The consumer project to which the PSC service automation endpoint will
3401
+ be created. The API expects the consumer project to be the project ID(
3402
+ and not the project number).
3403
+ :param builtins.str ip_address: The IP address of the PSC service automation endpoint.
3404
+ :param builtins.str status: The status of the PSC service automation connection.
3405
+ """
3406
+ pulumi.set(__self__, "consumer_network", consumer_network)
3407
+ pulumi.set(__self__, "consumer_network_status", consumer_network_status)
3408
+ pulumi.set(__self__, "consumer_project", consumer_project)
3409
+ pulumi.set(__self__, "ip_address", ip_address)
3410
+ pulumi.set(__self__, "status", status)
3411
+
3412
+ @property
3413
+ @pulumi.getter(name="consumerNetwork")
3414
+ def consumer_network(self) -> builtins.str:
3415
+ """
3416
+ The consumer network for the PSC service automation, example:
3417
+ "projects/vpc-host-project/global/networks/default".
3418
+ The consumer network might be hosted a different project than the
3419
+ consumer project. The API expects the consumer project specified to be
3420
+ the project ID (and not the project number)
3421
+ """
3422
+ return pulumi.get(self, "consumer_network")
3423
+
3424
+ @property
3425
+ @pulumi.getter(name="consumerNetworkStatus")
3426
+ def consumer_network_status(self) -> builtins.str:
3427
+ """
3428
+ The status of the service connection policy.
3429
+ """
3430
+ return pulumi.get(self, "consumer_network_status")
3431
+
3432
+ @property
3433
+ @pulumi.getter(name="consumerProject")
3434
+ def consumer_project(self) -> builtins.str:
3435
+ """
3436
+ The consumer project to which the PSC service automation endpoint will
3437
+ be created. The API expects the consumer project to be the project ID(
3438
+ and not the project number).
3439
+ """
3440
+ return pulumi.get(self, "consumer_project")
3441
+
3442
+ @property
3443
+ @pulumi.getter(name="ipAddress")
3444
+ def ip_address(self) -> builtins.str:
3445
+ """
3446
+ The IP address of the PSC service automation endpoint.
3447
+ """
3448
+ return pulumi.get(self, "ip_address")
3449
+
3450
+ @property
3451
+ @pulumi.getter
3452
+ def status(self) -> builtins.str:
3453
+ """
3454
+ The status of the PSC service automation connection.
3455
+ """
3456
+ return pulumi.get(self, "status")
3457
+
3458
+
3248
3459
  @pulumi.output_type
3249
3460
  class GetInstancePscInstanceConfigPscInterfaceConfigResult(dict):
3250
3461
  def __init__(__self__, *,
@@ -2259,6 +2259,10 @@ if not MYPY:
2259
2259
  The TLS Common Name of the certificate.
2260
2260
  Structure is documented below.
2261
2261
  """
2262
+ enforce: NotRequired[pulumi.Input[builtins.bool]]
2263
+ """
2264
+ If true, TLS is strictly enforced.
2265
+ """
2262
2266
  ignore_validation_errors: NotRequired[pulumi.Input[builtins.bool]]
2263
2267
  """
2264
2268
  If true, Edge ignores TLS certificate errors. Valid when configuring TLS for target servers and target endpoints, and when configuring virtual hosts that use 2-way TLS. When used with a target endpoint/target server, if the backend system uses SNI and returns a cert with a subject Distinguished Name (DN) that does not match the hostname, there is no way to ignore the error and the connection fails.
@@ -2289,6 +2293,7 @@ class TargetServerSSlInfoArgs:
2289
2293
  ciphers: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
2290
2294
  client_auth_enabled: Optional[pulumi.Input[builtins.bool]] = None,
2291
2295
  common_name: Optional[pulumi.Input['TargetServerSSlInfoCommonNameArgs']] = None,
2296
+ enforce: Optional[pulumi.Input[builtins.bool]] = None,
2292
2297
  ignore_validation_errors: Optional[pulumi.Input[builtins.bool]] = None,
2293
2298
  key_alias: Optional[pulumi.Input[builtins.str]] = None,
2294
2299
  key_store: Optional[pulumi.Input[builtins.str]] = None,
@@ -2300,6 +2305,7 @@ class TargetServerSSlInfoArgs:
2300
2305
  :param pulumi.Input[builtins.bool] client_auth_enabled: Enables two-way TLS.
2301
2306
  :param pulumi.Input['TargetServerSSlInfoCommonNameArgs'] common_name: The TLS Common Name of the certificate.
2302
2307
  Structure is documented below.
2308
+ :param pulumi.Input[builtins.bool] enforce: If true, TLS is strictly enforced.
2303
2309
  :param pulumi.Input[builtins.bool] ignore_validation_errors: If true, Edge ignores TLS certificate errors. Valid when configuring TLS for target servers and target endpoints, and when configuring virtual hosts that use 2-way TLS. When used with a target endpoint/target server, if the backend system uses SNI and returns a cert with a subject Distinguished Name (DN) that does not match the hostname, there is no way to ignore the error and the connection fails.
2304
2310
  :param pulumi.Input[builtins.str] key_alias: Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
2305
2311
  :param pulumi.Input[builtins.str] key_store: Required if clientAuthEnabled is true. The resource ID of the keystore.
@@ -2313,6 +2319,8 @@ class TargetServerSSlInfoArgs:
2313
2319
  pulumi.set(__self__, "client_auth_enabled", client_auth_enabled)
2314
2320
  if common_name is not None:
2315
2321
  pulumi.set(__self__, "common_name", common_name)
2322
+ if enforce is not None:
2323
+ pulumi.set(__self__, "enforce", enforce)
2316
2324
  if ignore_validation_errors is not None:
2317
2325
  pulumi.set(__self__, "ignore_validation_errors", ignore_validation_errors)
2318
2326
  if key_alias is not None:
@@ -2373,6 +2381,18 @@ class TargetServerSSlInfoArgs:
2373
2381
  def common_name(self, value: Optional[pulumi.Input['TargetServerSSlInfoCommonNameArgs']]):
2374
2382
  pulumi.set(self, "common_name", value)
2375
2383
 
2384
+ @property
2385
+ @pulumi.getter
2386
+ def enforce(self) -> Optional[pulumi.Input[builtins.bool]]:
2387
+ """
2388
+ If true, TLS is strictly enforced.
2389
+ """
2390
+ return pulumi.get(self, "enforce")
2391
+
2392
+ @enforce.setter
2393
+ def enforce(self, value: Optional[pulumi.Input[builtins.bool]]):
2394
+ pulumi.set(self, "enforce", value)
2395
+
2376
2396
  @property
2377
2397
  @pulumi.getter(name="ignoreValidationErrors")
2378
2398
  def ignore_validation_errors(self) -> Optional[pulumi.Input[builtins.bool]]:
@@ -1706,6 +1706,7 @@ class TargetServerSSlInfo(dict):
1706
1706
  ciphers: Optional[Sequence[builtins.str]] = None,
1707
1707
  client_auth_enabled: Optional[builtins.bool] = None,
1708
1708
  common_name: Optional['outputs.TargetServerSSlInfoCommonName'] = None,
1709
+ enforce: Optional[builtins.bool] = None,
1709
1710
  ignore_validation_errors: Optional[builtins.bool] = None,
1710
1711
  key_alias: Optional[builtins.str] = None,
1711
1712
  key_store: Optional[builtins.str] = None,
@@ -1717,6 +1718,7 @@ class TargetServerSSlInfo(dict):
1717
1718
  :param builtins.bool client_auth_enabled: Enables two-way TLS.
1718
1719
  :param 'TargetServerSSlInfoCommonNameArgs' common_name: The TLS Common Name of the certificate.
1719
1720
  Structure is documented below.
1721
+ :param builtins.bool enforce: If true, TLS is strictly enforced.
1720
1722
  :param builtins.bool ignore_validation_errors: If true, Edge ignores TLS certificate errors. Valid when configuring TLS for target servers and target endpoints, and when configuring virtual hosts that use 2-way TLS. When used with a target endpoint/target server, if the backend system uses SNI and returns a cert with a subject Distinguished Name (DN) that does not match the hostname, there is no way to ignore the error and the connection fails.
1721
1723
  :param builtins.str key_alias: Required if clientAuthEnabled is true. The resource ID for the alias containing the private key and cert.
1722
1724
  :param builtins.str key_store: Required if clientAuthEnabled is true. The resource ID of the keystore.
@@ -1730,6 +1732,8 @@ class TargetServerSSlInfo(dict):
1730
1732
  pulumi.set(__self__, "client_auth_enabled", client_auth_enabled)
1731
1733
  if common_name is not None:
1732
1734
  pulumi.set(__self__, "common_name", common_name)
1735
+ if enforce is not None:
1736
+ pulumi.set(__self__, "enforce", enforce)
1733
1737
  if ignore_validation_errors is not None:
1734
1738
  pulumi.set(__self__, "ignore_validation_errors", ignore_validation_errors)
1735
1739
  if key_alias is not None:
@@ -1774,6 +1778,14 @@ class TargetServerSSlInfo(dict):
1774
1778
  """
1775
1779
  return pulumi.get(self, "common_name")
1776
1780
 
1781
+ @property
1782
+ @pulumi.getter
1783
+ def enforce(self) -> Optional[builtins.bool]:
1784
+ """
1785
+ If true, TLS is strictly enforced.
1786
+ """
1787
+ return pulumi.get(self, "enforce")
1788
+
1777
1789
  @property
1778
1790
  @pulumi.getter(name="ignoreValidationErrors")
1779
1791
  def ignore_validation_errors(self) -> Optional[builtins.bool]: