pulumi-gcp 8.3.1a1727284265__py3-none-any.whl → 8.4.0a1727795436__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.
- pulumi_gcp/__init__.py +24 -0
- pulumi_gcp/apigee/nat_address.py +155 -2
- pulumi_gcp/bigquery/_inputs.py +102 -0
- pulumi_gcp/bigquery/outputs.py +83 -0
- pulumi_gcp/bigquery/table.py +47 -0
- pulumi_gcp/cloudrun/_inputs.py +26 -0
- pulumi_gcp/cloudrun/outputs.py +33 -0
- pulumi_gcp/cloudrun/service.py +76 -0
- pulumi_gcp/cloudrunv2/_inputs.py +65 -9
- pulumi_gcp/cloudrunv2/outputs.py +73 -8
- pulumi_gcp/cloudrunv2/service.py +64 -0
- pulumi_gcp/compute/__init__.py +3 -0
- pulumi_gcp/compute/_inputs.py +1941 -2
- pulumi_gcp/compute/get_region_instance_group_manager.py +438 -0
- pulumi_gcp/compute/get_router_nat.py +11 -1
- pulumi_gcp/compute/instance.py +7 -7
- pulumi_gcp/compute/instance_from_machine_image.py +7 -7
- pulumi_gcp/compute/instance_from_template.py +7 -7
- pulumi_gcp/compute/interconnect.py +76 -64
- pulumi_gcp/compute/outputs.py +4637 -2640
- pulumi_gcp/compute/region_commitment.py +47 -0
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +835 -0
- pulumi_gcp/compute/router_nat.py +56 -2
- pulumi_gcp/compute/router_nat_address.py +514 -0
- pulumi_gcp/compute/subnetwork.py +14 -14
- pulumi_gcp/container/_inputs.py +222 -0
- pulumi_gcp/container/outputs.py +279 -2
- pulumi_gcp/logging/__init__.py +1 -0
- pulumi_gcp/logging/log_scope.py +492 -0
- pulumi_gcp/looker/_inputs.py +157 -0
- pulumi_gcp/looker/instance.py +143 -0
- pulumi_gcp/looker/outputs.py +136 -0
- pulumi_gcp/networkconnectivity/_inputs.py +72 -3
- pulumi_gcp/networkconnectivity/outputs.py +51 -3
- pulumi_gcp/networkconnectivity/spoke.py +310 -0
- pulumi_gcp/networksecurity/security_profile.py +2 -2
- pulumi_gcp/privilegedaccessmanager/__init__.py +1 -0
- pulumi_gcp/privilegedaccessmanager/get_entitlement.py +219 -0
- pulumi_gcp/privilegedaccessmanager/outputs.py +312 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/secretmanager/__init__.py +2 -0
- pulumi_gcp/secretmanager/get_regional_secret_version.py +2 -2
- pulumi_gcp/secretmanager/get_regional_secret_version_access.py +188 -0
- pulumi_gcp/secretmanager/get_regional_secrets.py +156 -0
- pulumi_gcp/secretmanager/outputs.py +265 -0
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/RECORD +49 -42
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/top_level.txt +0 -0
pulumi_gcp/bigquery/table.py
CHANGED
@@ -23,6 +23,7 @@ class TableArgs:
|
|
23
23
|
def __init__(__self__, *,
|
24
24
|
dataset_id: pulumi.Input[str],
|
25
25
|
table_id: pulumi.Input[str],
|
26
|
+
biglake_configuration: Optional[pulumi.Input['TableBiglakeConfigurationArgs']] = None,
|
26
27
|
clusterings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
27
28
|
deletion_protection: Optional[pulumi.Input[bool]] = None,
|
28
29
|
description: Optional[pulumi.Input[str]] = None,
|
@@ -48,6 +49,7 @@ class TableArgs:
|
|
48
49
|
Changing this forces a new resource to be created.
|
49
50
|
:param pulumi.Input[str] table_id: A unique ID for the resource.
|
50
51
|
Changing this forces a new resource to be created.
|
52
|
+
:param pulumi.Input['TableBiglakeConfigurationArgs'] biglake_configuration: Specifies the configuration of a BigLake managed table. Structure is documented below
|
51
53
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] clusterings: Specifies column names to use for data clustering.
|
52
54
|
Up to four top-level columns are allowed, and should be specified in
|
53
55
|
descending priority order.
|
@@ -102,6 +104,8 @@ class TableArgs:
|
|
102
104
|
"""
|
103
105
|
pulumi.set(__self__, "dataset_id", dataset_id)
|
104
106
|
pulumi.set(__self__, "table_id", table_id)
|
107
|
+
if biglake_configuration is not None:
|
108
|
+
pulumi.set(__self__, "biglake_configuration", biglake_configuration)
|
105
109
|
if clusterings is not None:
|
106
110
|
pulumi.set(__self__, "clusterings", clusterings)
|
107
111
|
if deletion_protection is not None:
|
@@ -167,6 +171,18 @@ class TableArgs:
|
|
167
171
|
def table_id(self, value: pulumi.Input[str]):
|
168
172
|
pulumi.set(self, "table_id", value)
|
169
173
|
|
174
|
+
@property
|
175
|
+
@pulumi.getter(name="biglakeConfiguration")
|
176
|
+
def biglake_configuration(self) -> Optional[pulumi.Input['TableBiglakeConfigurationArgs']]:
|
177
|
+
"""
|
178
|
+
Specifies the configuration of a BigLake managed table. Structure is documented below
|
179
|
+
"""
|
180
|
+
return pulumi.get(self, "biglake_configuration")
|
181
|
+
|
182
|
+
@biglake_configuration.setter
|
183
|
+
def biglake_configuration(self, value: Optional[pulumi.Input['TableBiglakeConfigurationArgs']]):
|
184
|
+
pulumi.set(self, "biglake_configuration", value)
|
185
|
+
|
170
186
|
@property
|
171
187
|
@pulumi.getter
|
172
188
|
def clusterings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
@@ -431,6 +447,7 @@ class TableArgs:
|
|
431
447
|
@pulumi.input_type
|
432
448
|
class _TableState:
|
433
449
|
def __init__(__self__, *,
|
450
|
+
biglake_configuration: Optional[pulumi.Input['TableBiglakeConfigurationArgs']] = None,
|
434
451
|
clusterings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
435
452
|
creation_time: Optional[pulumi.Input[int]] = None,
|
436
453
|
dataset_id: Optional[pulumi.Input[str]] = None,
|
@@ -465,6 +482,7 @@ class _TableState:
|
|
465
482
|
view: Optional[pulumi.Input['TableViewArgs']] = None):
|
466
483
|
"""
|
467
484
|
Input properties used for looking up and filtering Table resources.
|
485
|
+
:param pulumi.Input['TableBiglakeConfigurationArgs'] biglake_configuration: Specifies the configuration of a BigLake managed table. Structure is documented below
|
468
486
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] clusterings: Specifies column names to use for data clustering.
|
469
487
|
Up to four top-level columns are allowed, and should be specified in
|
470
488
|
descending priority order.
|
@@ -547,6 +565,8 @@ class _TableState:
|
|
547
565
|
:param pulumi.Input['TableViewArgs'] view: If specified, configures this table as a view.
|
548
566
|
Structure is documented below.
|
549
567
|
"""
|
568
|
+
if biglake_configuration is not None:
|
569
|
+
pulumi.set(__self__, "biglake_configuration", biglake_configuration)
|
550
570
|
if clusterings is not None:
|
551
571
|
pulumi.set(__self__, "clusterings", clusterings)
|
552
572
|
if creation_time is not None:
|
@@ -612,6 +632,18 @@ class _TableState:
|
|
612
632
|
if view is not None:
|
613
633
|
pulumi.set(__self__, "view", view)
|
614
634
|
|
635
|
+
@property
|
636
|
+
@pulumi.getter(name="biglakeConfiguration")
|
637
|
+
def biglake_configuration(self) -> Optional[pulumi.Input['TableBiglakeConfigurationArgs']]:
|
638
|
+
"""
|
639
|
+
Specifies the configuration of a BigLake managed table. Structure is documented below
|
640
|
+
"""
|
641
|
+
return pulumi.get(self, "biglake_configuration")
|
642
|
+
|
643
|
+
@biglake_configuration.setter
|
644
|
+
def biglake_configuration(self, value: Optional[pulumi.Input['TableBiglakeConfigurationArgs']]):
|
645
|
+
pulumi.set(self, "biglake_configuration", value)
|
646
|
+
|
615
647
|
@property
|
616
648
|
@pulumi.getter
|
617
649
|
def clusterings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
@@ -1051,6 +1083,7 @@ class Table(pulumi.CustomResource):
|
|
1051
1083
|
def __init__(__self__,
|
1052
1084
|
resource_name: str,
|
1053
1085
|
opts: Optional[pulumi.ResourceOptions] = None,
|
1086
|
+
biglake_configuration: Optional[pulumi.Input[Union['TableBiglakeConfigurationArgs', 'TableBiglakeConfigurationArgsDict']]] = None,
|
1054
1087
|
clusterings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1055
1088
|
dataset_id: Optional[pulumi.Input[str]] = None,
|
1056
1089
|
deletion_protection: Optional[pulumi.Input[bool]] = None,
|
@@ -1160,6 +1193,7 @@ class Table(pulumi.CustomResource):
|
|
1160
1193
|
|
1161
1194
|
:param str resource_name: The name of the resource.
|
1162
1195
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
1196
|
+
:param pulumi.Input[Union['TableBiglakeConfigurationArgs', 'TableBiglakeConfigurationArgsDict']] biglake_configuration: Specifies the configuration of a BigLake managed table. Structure is documented below
|
1163
1197
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] clusterings: Specifies column names to use for data clustering.
|
1164
1198
|
Up to four top-level columns are allowed, and should be specified in
|
1165
1199
|
descending priority order.
|
@@ -1322,6 +1356,7 @@ class Table(pulumi.CustomResource):
|
|
1322
1356
|
def _internal_init(__self__,
|
1323
1357
|
resource_name: str,
|
1324
1358
|
opts: Optional[pulumi.ResourceOptions] = None,
|
1359
|
+
biglake_configuration: Optional[pulumi.Input[Union['TableBiglakeConfigurationArgs', 'TableBiglakeConfigurationArgsDict']]] = None,
|
1325
1360
|
clusterings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1326
1361
|
dataset_id: Optional[pulumi.Input[str]] = None,
|
1327
1362
|
deletion_protection: Optional[pulumi.Input[bool]] = None,
|
@@ -1352,6 +1387,7 @@ class Table(pulumi.CustomResource):
|
|
1352
1387
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
1353
1388
|
__props__ = TableArgs.__new__(TableArgs)
|
1354
1389
|
|
1390
|
+
__props__.__dict__["biglake_configuration"] = biglake_configuration
|
1355
1391
|
__props__.__dict__["clusterings"] = clusterings
|
1356
1392
|
if dataset_id is None and not opts.urn:
|
1357
1393
|
raise TypeError("Missing required property 'dataset_id'")
|
@@ -1400,6 +1436,7 @@ class Table(pulumi.CustomResource):
|
|
1400
1436
|
def get(resource_name: str,
|
1401
1437
|
id: pulumi.Input[str],
|
1402
1438
|
opts: Optional[pulumi.ResourceOptions] = None,
|
1439
|
+
biglake_configuration: Optional[pulumi.Input[Union['TableBiglakeConfigurationArgs', 'TableBiglakeConfigurationArgsDict']]] = None,
|
1403
1440
|
clusterings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1404
1441
|
creation_time: Optional[pulumi.Input[int]] = None,
|
1405
1442
|
dataset_id: Optional[pulumi.Input[str]] = None,
|
@@ -1439,6 +1476,7 @@ class Table(pulumi.CustomResource):
|
|
1439
1476
|
:param str resource_name: The unique name of the resulting resource.
|
1440
1477
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
1441
1478
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
1479
|
+
:param pulumi.Input[Union['TableBiglakeConfigurationArgs', 'TableBiglakeConfigurationArgsDict']] biglake_configuration: Specifies the configuration of a BigLake managed table. Structure is documented below
|
1442
1480
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] clusterings: Specifies column names to use for data clustering.
|
1443
1481
|
Up to four top-level columns are allowed, and should be specified in
|
1444
1482
|
descending priority order.
|
@@ -1525,6 +1563,7 @@ class Table(pulumi.CustomResource):
|
|
1525
1563
|
|
1526
1564
|
__props__ = _TableState.__new__(_TableState)
|
1527
1565
|
|
1566
|
+
__props__.__dict__["biglake_configuration"] = biglake_configuration
|
1528
1567
|
__props__.__dict__["clusterings"] = clusterings
|
1529
1568
|
__props__.__dict__["creation_time"] = creation_time
|
1530
1569
|
__props__.__dict__["dataset_id"] = dataset_id
|
@@ -1559,6 +1598,14 @@ class Table(pulumi.CustomResource):
|
|
1559
1598
|
__props__.__dict__["view"] = view
|
1560
1599
|
return Table(resource_name, opts=opts, __props__=__props__)
|
1561
1600
|
|
1601
|
+
@property
|
1602
|
+
@pulumi.getter(name="biglakeConfiguration")
|
1603
|
+
def biglake_configuration(self) -> pulumi.Output[Optional['outputs.TableBiglakeConfiguration']]:
|
1604
|
+
"""
|
1605
|
+
Specifies the configuration of a BigLake managed table. Structure is documented below
|
1606
|
+
"""
|
1607
|
+
return pulumi.get(self, "biglake_configuration")
|
1608
|
+
|
1562
1609
|
@property
|
1563
1610
|
@pulumi.getter
|
1564
1611
|
def clusterings(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
pulumi_gcp/cloudrun/_inputs.py
CHANGED
@@ -1983,6 +1983,12 @@ if not MYPY:
|
|
1983
1983
|
Containers defines the unit of execution for this Revision.
|
1984
1984
|
Structure is documented below.
|
1985
1985
|
"""
|
1986
|
+
node_selector: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
|
1987
|
+
"""
|
1988
|
+
Node Selector describes the hardware requirements of the resources.
|
1989
|
+
Use the following node selector keys to configure features on a Revision:
|
1990
|
+
- `run.googleapis.com/accelerator` sets the [type of GPU](https://cloud.google.com/run/docs/configuring/services/gpu) required by the Revision to run.
|
1991
|
+
"""
|
1986
1992
|
service_account_name: NotRequired[pulumi.Input[str]]
|
1987
1993
|
"""
|
1988
1994
|
Email address of the IAM service account associated with the revision of the
|
@@ -2017,6 +2023,7 @@ class ServiceTemplateSpecArgs:
|
|
2017
2023
|
def __init__(__self__, *,
|
2018
2024
|
container_concurrency: Optional[pulumi.Input[int]] = None,
|
2019
2025
|
containers: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceTemplateSpecContainerArgs']]]] = None,
|
2026
|
+
node_selector: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
2020
2027
|
service_account_name: Optional[pulumi.Input[str]] = None,
|
2021
2028
|
serving_state: Optional[pulumi.Input[str]] = None,
|
2022
2029
|
timeout_seconds: Optional[pulumi.Input[int]] = None,
|
@@ -2027,6 +2034,9 @@ class ServiceTemplateSpecArgs:
|
|
2027
2034
|
requested CPU >= 1 and defaults to 1 when requested CPU < 1.
|
2028
2035
|
:param pulumi.Input[Sequence[pulumi.Input['ServiceTemplateSpecContainerArgs']]] containers: Containers defines the unit of execution for this Revision.
|
2029
2036
|
Structure is documented below.
|
2037
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_selector: Node Selector describes the hardware requirements of the resources.
|
2038
|
+
Use the following node selector keys to configure features on a Revision:
|
2039
|
+
- `run.googleapis.com/accelerator` sets the [type of GPU](https://cloud.google.com/run/docs/configuring/services/gpu) required by the Revision to run.
|
2030
2040
|
:param pulumi.Input[str] service_account_name: Email address of the IAM service account associated with the revision of the
|
2031
2041
|
service. The service account represents the identity of the running revision,
|
2032
2042
|
and determines what permissions the revision has. If not provided, the revision
|
@@ -2046,6 +2056,8 @@ class ServiceTemplateSpecArgs:
|
|
2046
2056
|
pulumi.set(__self__, "container_concurrency", container_concurrency)
|
2047
2057
|
if containers is not None:
|
2048
2058
|
pulumi.set(__self__, "containers", containers)
|
2059
|
+
if node_selector is not None:
|
2060
|
+
pulumi.set(__self__, "node_selector", node_selector)
|
2049
2061
|
if service_account_name is not None:
|
2050
2062
|
pulumi.set(__self__, "service_account_name", service_account_name)
|
2051
2063
|
if serving_state is not None:
|
@@ -2085,6 +2097,20 @@ class ServiceTemplateSpecArgs:
|
|
2085
2097
|
def containers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceTemplateSpecContainerArgs']]]]):
|
2086
2098
|
pulumi.set(self, "containers", value)
|
2087
2099
|
|
2100
|
+
@property
|
2101
|
+
@pulumi.getter(name="nodeSelector")
|
2102
|
+
def node_selector(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
2103
|
+
"""
|
2104
|
+
Node Selector describes the hardware requirements of the resources.
|
2105
|
+
Use the following node selector keys to configure features on a Revision:
|
2106
|
+
- `run.googleapis.com/accelerator` sets the [type of GPU](https://cloud.google.com/run/docs/configuring/services/gpu) required by the Revision to run.
|
2107
|
+
"""
|
2108
|
+
return pulumi.get(self, "node_selector")
|
2109
|
+
|
2110
|
+
@node_selector.setter
|
2111
|
+
def node_selector(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
2112
|
+
pulumi.set(self, "node_selector", value)
|
2113
|
+
|
2088
2114
|
@property
|
2089
2115
|
@pulumi.getter(name="serviceAccountName")
|
2090
2116
|
def service_account_name(self) -> Optional[pulumi.Input[str]]:
|
pulumi_gcp/cloudrun/outputs.py
CHANGED
@@ -1400,6 +1400,8 @@ class ServiceTemplateSpec(dict):
|
|
1400
1400
|
suggest = None
|
1401
1401
|
if key == "containerConcurrency":
|
1402
1402
|
suggest = "container_concurrency"
|
1403
|
+
elif key == "nodeSelector":
|
1404
|
+
suggest = "node_selector"
|
1403
1405
|
elif key == "serviceAccountName":
|
1404
1406
|
suggest = "service_account_name"
|
1405
1407
|
elif key == "servingState":
|
@@ -1421,6 +1423,7 @@ class ServiceTemplateSpec(dict):
|
|
1421
1423
|
def __init__(__self__, *,
|
1422
1424
|
container_concurrency: Optional[int] = None,
|
1423
1425
|
containers: Optional[Sequence['outputs.ServiceTemplateSpecContainer']] = None,
|
1426
|
+
node_selector: Optional[Mapping[str, str]] = None,
|
1424
1427
|
service_account_name: Optional[str] = None,
|
1425
1428
|
serving_state: Optional[str] = None,
|
1426
1429
|
timeout_seconds: Optional[int] = None,
|
@@ -1431,6 +1434,9 @@ class ServiceTemplateSpec(dict):
|
|
1431
1434
|
requested CPU >= 1 and defaults to 1 when requested CPU < 1.
|
1432
1435
|
:param Sequence['ServiceTemplateSpecContainerArgs'] containers: Containers defines the unit of execution for this Revision.
|
1433
1436
|
Structure is documented below.
|
1437
|
+
:param Mapping[str, str] node_selector: Node Selector describes the hardware requirements of the resources.
|
1438
|
+
Use the following node selector keys to configure features on a Revision:
|
1439
|
+
- `run.googleapis.com/accelerator` sets the [type of GPU](https://cloud.google.com/run/docs/configuring/services/gpu) required by the Revision to run.
|
1434
1440
|
:param str service_account_name: Email address of the IAM service account associated with the revision of the
|
1435
1441
|
service. The service account represents the identity of the running revision,
|
1436
1442
|
and determines what permissions the revision has. If not provided, the revision
|
@@ -1450,6 +1456,8 @@ class ServiceTemplateSpec(dict):
|
|
1450
1456
|
pulumi.set(__self__, "container_concurrency", container_concurrency)
|
1451
1457
|
if containers is not None:
|
1452
1458
|
pulumi.set(__self__, "containers", containers)
|
1459
|
+
if node_selector is not None:
|
1460
|
+
pulumi.set(__self__, "node_selector", node_selector)
|
1453
1461
|
if service_account_name is not None:
|
1454
1462
|
pulumi.set(__self__, "service_account_name", service_account_name)
|
1455
1463
|
if serving_state is not None:
|
@@ -1478,6 +1486,16 @@ class ServiceTemplateSpec(dict):
|
|
1478
1486
|
"""
|
1479
1487
|
return pulumi.get(self, "containers")
|
1480
1488
|
|
1489
|
+
@property
|
1490
|
+
@pulumi.getter(name="nodeSelector")
|
1491
|
+
def node_selector(self) -> Optional[Mapping[str, str]]:
|
1492
|
+
"""
|
1493
|
+
Node Selector describes the hardware requirements of the resources.
|
1494
|
+
Use the following node selector keys to configure features on a Revision:
|
1495
|
+
- `run.googleapis.com/accelerator` sets the [type of GPU](https://cloud.google.com/run/docs/configuring/services/gpu) required by the Revision to run.
|
1496
|
+
"""
|
1497
|
+
return pulumi.get(self, "node_selector")
|
1498
|
+
|
1481
1499
|
@property
|
1482
1500
|
@pulumi.getter(name="serviceAccountName")
|
1483
1501
|
def service_account_name(self) -> Optional[str]:
|
@@ -3800,6 +3818,7 @@ class GetServiceTemplateSpecResult(dict):
|
|
3800
3818
|
def __init__(__self__, *,
|
3801
3819
|
container_concurrency: int,
|
3802
3820
|
containers: Sequence['outputs.GetServiceTemplateSpecContainerResult'],
|
3821
|
+
node_selector: Mapping[str, str],
|
3803
3822
|
service_account_name: str,
|
3804
3823
|
serving_state: str,
|
3805
3824
|
timeout_seconds: int,
|
@@ -3809,6 +3828,9 @@ class GetServiceTemplateSpecResult(dict):
|
|
3809
3828
|
requests per container of the Revision. If not specified or 0, defaults to 80 when
|
3810
3829
|
requested CPU >= 1 and defaults to 1 when requested CPU < 1.
|
3811
3830
|
:param Sequence['GetServiceTemplateSpecContainerArgs'] containers: Containers defines the unit of execution for this Revision.
|
3831
|
+
:param Mapping[str, str] node_selector: Node Selector describes the hardware requirements of the resources.
|
3832
|
+
Use the following node selector keys to configure features on a Revision:
|
3833
|
+
- 'run.googleapis.com/accelerator' sets the [type of GPU](https://cloud.google.com/run/docs/configuring/services/gpu) required by the Revision to run.
|
3812
3834
|
:param str service_account_name: Email address of the IAM service account associated with the revision of the
|
3813
3835
|
service. The service account represents the identity of the running revision,
|
3814
3836
|
and determines what permissions the revision has. If not provided, the revision
|
@@ -3822,6 +3844,7 @@ class GetServiceTemplateSpecResult(dict):
|
|
3822
3844
|
"""
|
3823
3845
|
pulumi.set(__self__, "container_concurrency", container_concurrency)
|
3824
3846
|
pulumi.set(__self__, "containers", containers)
|
3847
|
+
pulumi.set(__self__, "node_selector", node_selector)
|
3825
3848
|
pulumi.set(__self__, "service_account_name", service_account_name)
|
3826
3849
|
pulumi.set(__self__, "serving_state", serving_state)
|
3827
3850
|
pulumi.set(__self__, "timeout_seconds", timeout_seconds)
|
@@ -3845,6 +3868,16 @@ class GetServiceTemplateSpecResult(dict):
|
|
3845
3868
|
"""
|
3846
3869
|
return pulumi.get(self, "containers")
|
3847
3870
|
|
3871
|
+
@property
|
3872
|
+
@pulumi.getter(name="nodeSelector")
|
3873
|
+
def node_selector(self) -> Mapping[str, str]:
|
3874
|
+
"""
|
3875
|
+
Node Selector describes the hardware requirements of the resources.
|
3876
|
+
Use the following node selector keys to configure features on a Revision:
|
3877
|
+
- 'run.googleapis.com/accelerator' sets the [type of GPU](https://cloud.google.com/run/docs/configuring/services/gpu) required by the Revision to run.
|
3878
|
+
"""
|
3879
|
+
return pulumi.get(self, "node_selector")
|
3880
|
+
|
3848
3881
|
@property
|
3849
3882
|
@pulumi.getter(name="serviceAccountName")
|
3850
3883
|
def service_account_name(self) -> str:
|
pulumi_gcp/cloudrun/service.py
CHANGED
@@ -413,6 +413,44 @@ class Service(pulumi.CustomResource):
|
|
413
413
|
"latest_revision": True,
|
414
414
|
}])
|
415
415
|
```
|
416
|
+
### Cloud Run Service Gpu
|
417
|
+
|
418
|
+
```python
|
419
|
+
import pulumi
|
420
|
+
import pulumi_gcp as gcp
|
421
|
+
|
422
|
+
default = gcp.cloudrun.Service("default",
|
423
|
+
name="cloudrun-srv",
|
424
|
+
location="us-central1",
|
425
|
+
metadata={
|
426
|
+
"annotations": {
|
427
|
+
"run_googleapis_com_launch_stage": "BETA",
|
428
|
+
},
|
429
|
+
},
|
430
|
+
template={
|
431
|
+
"metadata": {
|
432
|
+
"annotations": {
|
433
|
+
"autoscaling_knative_dev_max_scale": "1",
|
434
|
+
"run_googleapis_com_cpu_throttling": "false",
|
435
|
+
},
|
436
|
+
},
|
437
|
+
"spec": {
|
438
|
+
"containers": [{
|
439
|
+
"image": "gcr.io/cloudrun/hello",
|
440
|
+
"resources": {
|
441
|
+
"limits": {
|
442
|
+
"cpu": "4",
|
443
|
+
"memory": "16Gi",
|
444
|
+
"nvidia_com_gpu": "1",
|
445
|
+
},
|
446
|
+
},
|
447
|
+
}],
|
448
|
+
"node_selector": {
|
449
|
+
"run_googleapis_com_accelerator": "nvidia-l4",
|
450
|
+
},
|
451
|
+
},
|
452
|
+
})
|
453
|
+
```
|
416
454
|
### Cloud Run Service Sql
|
417
455
|
|
418
456
|
```python
|
@@ -705,6 +743,44 @@ class Service(pulumi.CustomResource):
|
|
705
743
|
"latest_revision": True,
|
706
744
|
}])
|
707
745
|
```
|
746
|
+
### Cloud Run Service Gpu
|
747
|
+
|
748
|
+
```python
|
749
|
+
import pulumi
|
750
|
+
import pulumi_gcp as gcp
|
751
|
+
|
752
|
+
default = gcp.cloudrun.Service("default",
|
753
|
+
name="cloudrun-srv",
|
754
|
+
location="us-central1",
|
755
|
+
metadata={
|
756
|
+
"annotations": {
|
757
|
+
"run_googleapis_com_launch_stage": "BETA",
|
758
|
+
},
|
759
|
+
},
|
760
|
+
template={
|
761
|
+
"metadata": {
|
762
|
+
"annotations": {
|
763
|
+
"autoscaling_knative_dev_max_scale": "1",
|
764
|
+
"run_googleapis_com_cpu_throttling": "false",
|
765
|
+
},
|
766
|
+
},
|
767
|
+
"spec": {
|
768
|
+
"containers": [{
|
769
|
+
"image": "gcr.io/cloudrun/hello",
|
770
|
+
"resources": {
|
771
|
+
"limits": {
|
772
|
+
"cpu": "4",
|
773
|
+
"memory": "16Gi",
|
774
|
+
"nvidia_com_gpu": "1",
|
775
|
+
},
|
776
|
+
},
|
777
|
+
}],
|
778
|
+
"node_selector": {
|
779
|
+
"run_googleapis_com_accelerator": "nvidia-l4",
|
780
|
+
},
|
781
|
+
},
|
782
|
+
})
|
783
|
+
```
|
708
784
|
### Cloud Run Service Sql
|
709
785
|
|
710
786
|
```python
|
pulumi_gcp/cloudrunv2/_inputs.py
CHANGED
@@ -109,6 +109,8 @@ __all__ = [
|
|
109
109
|
'ServiceTemplateContainerStartupProbeTcpSocketArgsDict',
|
110
110
|
'ServiceTemplateContainerVolumeMountArgs',
|
111
111
|
'ServiceTemplateContainerVolumeMountArgsDict',
|
112
|
+
'ServiceTemplateNodeSelectorArgs',
|
113
|
+
'ServiceTemplateNodeSelectorArgsDict',
|
112
114
|
'ServiceTemplateScalingArgs',
|
113
115
|
'ServiceTemplateScalingArgsDict',
|
114
116
|
'ServiceTemplateServiceMeshArgs',
|
@@ -2712,6 +2714,11 @@ if not MYPY:
|
|
2712
2714
|
Sets the maximum number of requests that each serving instance can receive.
|
2713
2715
|
If not specified or 0, defaults to 80 when requested CPU >= 1 and defaults to 1 when requested CPU < 1.
|
2714
2716
|
"""
|
2717
|
+
node_selector: NotRequired[pulumi.Input['ServiceTemplateNodeSelectorArgsDict']]
|
2718
|
+
"""
|
2719
|
+
Node Selector describes the hardware requirements of the resources.
|
2720
|
+
Structure is documented below.
|
2721
|
+
"""
|
2715
2722
|
revision: NotRequired[pulumi.Input[str]]
|
2716
2723
|
"""
|
2717
2724
|
The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.
|
@@ -2761,6 +2768,7 @@ class ServiceTemplateArgs:
|
|
2761
2768
|
execution_environment: Optional[pulumi.Input[str]] = None,
|
2762
2769
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
2763
2770
|
max_instance_request_concurrency: Optional[pulumi.Input[int]] = None,
|
2771
|
+
node_selector: Optional[pulumi.Input['ServiceTemplateNodeSelectorArgs']] = None,
|
2764
2772
|
revision: Optional[pulumi.Input[str]] = None,
|
2765
2773
|
scaling: Optional[pulumi.Input['ServiceTemplateScalingArgs']] = None,
|
2766
2774
|
service_account: Optional[pulumi.Input[str]] = None,
|
@@ -2785,6 +2793,8 @@ class ServiceTemplateArgs:
|
|
2785
2793
|
All system labels in v1 now have a corresponding field in v2 RevisionTemplate.
|
2786
2794
|
:param pulumi.Input[int] max_instance_request_concurrency: Sets the maximum number of requests that each serving instance can receive.
|
2787
2795
|
If not specified or 0, defaults to 80 when requested CPU >= 1 and defaults to 1 when requested CPU < 1.
|
2796
|
+
:param pulumi.Input['ServiceTemplateNodeSelectorArgs'] node_selector: Node Selector describes the hardware requirements of the resources.
|
2797
|
+
Structure is documented below.
|
2788
2798
|
:param pulumi.Input[str] revision: The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.
|
2789
2799
|
:param pulumi.Input['ServiceTemplateScalingArgs'] scaling: Scaling settings for this Revision.
|
2790
2800
|
Structure is documented below.
|
@@ -2811,6 +2821,8 @@ class ServiceTemplateArgs:
|
|
2811
2821
|
pulumi.set(__self__, "labels", labels)
|
2812
2822
|
if max_instance_request_concurrency is not None:
|
2813
2823
|
pulumi.set(__self__, "max_instance_request_concurrency", max_instance_request_concurrency)
|
2824
|
+
if node_selector is not None:
|
2825
|
+
pulumi.set(__self__, "node_selector", node_selector)
|
2814
2826
|
if revision is not None:
|
2815
2827
|
pulumi.set(__self__, "revision", revision)
|
2816
2828
|
if scaling is not None:
|
@@ -2909,6 +2921,19 @@ class ServiceTemplateArgs:
|
|
2909
2921
|
def max_instance_request_concurrency(self, value: Optional[pulumi.Input[int]]):
|
2910
2922
|
pulumi.set(self, "max_instance_request_concurrency", value)
|
2911
2923
|
|
2924
|
+
@property
|
2925
|
+
@pulumi.getter(name="nodeSelector")
|
2926
|
+
def node_selector(self) -> Optional[pulumi.Input['ServiceTemplateNodeSelectorArgs']]:
|
2927
|
+
"""
|
2928
|
+
Node Selector describes the hardware requirements of the resources.
|
2929
|
+
Structure is documented below.
|
2930
|
+
"""
|
2931
|
+
return pulumi.get(self, "node_selector")
|
2932
|
+
|
2933
|
+
@node_selector.setter
|
2934
|
+
def node_selector(self, value: Optional[pulumi.Input['ServiceTemplateNodeSelectorArgs']]):
|
2935
|
+
pulumi.set(self, "node_selector", value)
|
2936
|
+
|
2912
2937
|
@property
|
2913
2938
|
@pulumi.getter
|
2914
2939
|
def revision(self) -> Optional[pulumi.Input[str]]:
|
@@ -3889,7 +3914,7 @@ if not MYPY:
|
|
3889
3914
|
"""
|
3890
3915
|
limits: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
|
3891
3916
|
"""
|
3892
|
-
Only memory and
|
3917
|
+
Only memory, CPU, and nvidia.com/gpu are supported. Use key `cpu` for CPU limit, `memory` for memory limit, `nvidia.com/gpu` for gpu 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
|
3893
3918
|
"""
|
3894
3919
|
startup_cpu_boost: NotRequired[pulumi.Input[bool]]
|
3895
3920
|
"""
|
@@ -3907,7 +3932,7 @@ class ServiceTemplateContainerResourcesArgs:
|
|
3907
3932
|
"""
|
3908
3933
|
: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
|
3909
3934
|
`resources` is set, this field must be explicitly set to true to preserve the default behavior.
|
3910
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] limits: Only memory and
|
3935
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] limits: Only memory, CPU, and nvidia.com/gpu are supported. Use key `cpu` for CPU limit, `memory` for memory limit, `nvidia.com/gpu` for gpu 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
|
3911
3936
|
: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.
|
3912
3937
|
"""
|
3913
3938
|
if cpu_idle is not None:
|
@@ -3934,7 +3959,7 @@ class ServiceTemplateContainerResourcesArgs:
|
|
3934
3959
|
@pulumi.getter
|
3935
3960
|
def limits(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
3936
3961
|
"""
|
3937
|
-
Only memory and
|
3962
|
+
Only memory, CPU, and nvidia.com/gpu are supported. Use key `cpu` for CPU limit, `memory` for memory limit, `nvidia.com/gpu` for gpu 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
|
3938
3963
|
"""
|
3939
3964
|
return pulumi.get(self, "limits")
|
3940
3965
|
|
@@ -4391,6 +4416,43 @@ class ServiceTemplateContainerVolumeMountArgs:
|
|
4391
4416
|
pulumi.set(self, "name", value)
|
4392
4417
|
|
4393
4418
|
|
4419
|
+
if not MYPY:
|
4420
|
+
class ServiceTemplateNodeSelectorArgsDict(TypedDict):
|
4421
|
+
accelerator: pulumi.Input[str]
|
4422
|
+
"""
|
4423
|
+
The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/services/gpu for configuring GPU.
|
4424
|
+
|
4425
|
+
- - -
|
4426
|
+
"""
|
4427
|
+
elif False:
|
4428
|
+
ServiceTemplateNodeSelectorArgsDict: TypeAlias = Mapping[str, Any]
|
4429
|
+
|
4430
|
+
@pulumi.input_type
|
4431
|
+
class ServiceTemplateNodeSelectorArgs:
|
4432
|
+
def __init__(__self__, *,
|
4433
|
+
accelerator: pulumi.Input[str]):
|
4434
|
+
"""
|
4435
|
+
:param pulumi.Input[str] accelerator: The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/services/gpu for configuring GPU.
|
4436
|
+
|
4437
|
+
- - -
|
4438
|
+
"""
|
4439
|
+
pulumi.set(__self__, "accelerator", accelerator)
|
4440
|
+
|
4441
|
+
@property
|
4442
|
+
@pulumi.getter
|
4443
|
+
def accelerator(self) -> pulumi.Input[str]:
|
4444
|
+
"""
|
4445
|
+
The GPU to attach to an instance. See https://cloud.google.com/run/docs/configuring/services/gpu for configuring GPU.
|
4446
|
+
|
4447
|
+
- - -
|
4448
|
+
"""
|
4449
|
+
return pulumi.get(self, "accelerator")
|
4450
|
+
|
4451
|
+
@accelerator.setter
|
4452
|
+
def accelerator(self, value: pulumi.Input[str]):
|
4453
|
+
pulumi.set(self, "accelerator", value)
|
4454
|
+
|
4455
|
+
|
4394
4456
|
if not MYPY:
|
4395
4457
|
class ServiceTemplateScalingArgsDict(TypedDict):
|
4396
4458
|
max_instance_count: NotRequired[pulumi.Input[int]]
|
@@ -4448,8 +4510,6 @@ if not MYPY:
|
|
4448
4510
|
mesh: NotRequired[pulumi.Input[str]]
|
4449
4511
|
"""
|
4450
4512
|
The Mesh resource name. For more information see https://cloud.google.com/service-mesh/docs/reference/network-services/rest/v1/projects.locations.meshes#resource:-mesh.
|
4451
|
-
|
4452
|
-
- - -
|
4453
4513
|
"""
|
4454
4514
|
elif False:
|
4455
4515
|
ServiceTemplateServiceMeshArgsDict: TypeAlias = Mapping[str, Any]
|
@@ -4460,8 +4520,6 @@ class ServiceTemplateServiceMeshArgs:
|
|
4460
4520
|
mesh: Optional[pulumi.Input[str]] = None):
|
4461
4521
|
"""
|
4462
4522
|
:param pulumi.Input[str] mesh: The Mesh resource name. For more information see https://cloud.google.com/service-mesh/docs/reference/network-services/rest/v1/projects.locations.meshes#resource:-mesh.
|
4463
|
-
|
4464
|
-
- - -
|
4465
4523
|
"""
|
4466
4524
|
if mesh is not None:
|
4467
4525
|
pulumi.set(__self__, "mesh", mesh)
|
@@ -4471,8 +4529,6 @@ class ServiceTemplateServiceMeshArgs:
|
|
4471
4529
|
def mesh(self) -> Optional[pulumi.Input[str]]:
|
4472
4530
|
"""
|
4473
4531
|
The Mesh resource name. For more information see https://cloud.google.com/service-mesh/docs/reference/network-services/rest/v1/projects.locations.meshes#resource:-mesh.
|
4474
|
-
|
4475
|
-
- - -
|
4476
4532
|
"""
|
4477
4533
|
return pulumi.get(self, "mesh")
|
4478
4534
|
|