pulumi-gcp 8.42.0a1756968228__py3-none-any.whl → 9.0.0a1__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 +35 -48
- pulumi_gcp/alloydb/backup.py +8 -4
- pulumi_gcp/alloydb/cluster.py +56 -10
- pulumi_gcp/alloydb/get_cluster.py +12 -1
- pulumi_gcp/alloydb/instance.py +10 -4
- pulumi_gcp/alloydb/user.py +8 -4
- pulumi_gcp/apigee/_inputs.py +151 -108
- pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +52 -40
- pulumi_gcp/apigee/outputs.py +92 -88
- pulumi_gcp/artifactregistry/__init__.py +1 -0
- pulumi_gcp/artifactregistry/_inputs.py +0 -12
- pulumi_gcp/artifactregistry/get_npm_package.py +251 -0
- pulumi_gcp/artifactregistry/outputs.py +8 -16
- pulumi_gcp/beyondcorp/__init__.py +0 -5
- pulumi_gcp/beyondcorp/_inputs.py +0 -312
- pulumi_gcp/beyondcorp/outputs.py +0 -200
- pulumi_gcp/bigquery/_inputs.py +114 -4
- pulumi_gcp/bigquery/app_profile.py +52 -19
- pulumi_gcp/bigquery/dataset_access.py +8 -4
- pulumi_gcp/bigquery/outputs.py +75 -5
- pulumi_gcp/bigquery/table.py +21 -7
- pulumi_gcp/bigtable/app_profile.py +50 -15
- pulumi_gcp/bigtable/get_table_iam_policy.py +16 -18
- pulumi_gcp/bigtable/table.py +42 -42
- pulumi_gcp/bigtable/table_iam_binding.py +43 -43
- pulumi_gcp/bigtable/table_iam_member.py +43 -43
- pulumi_gcp/bigtable/table_iam_policy.py +43 -43
- pulumi_gcp/billing/_inputs.py +0 -6
- pulumi_gcp/billing/outputs.py +0 -4
- pulumi_gcp/certificatemanager/__init__.py +1 -0
- pulumi_gcp/certificatemanager/get_dns_authorization.py +229 -0
- pulumi_gcp/certificatemanager/outputs.py +41 -0
- pulumi_gcp/cloudbuild/_inputs.py +289 -45
- pulumi_gcp/cloudbuild/bitbucket_server_config.py +2 -6
- pulumi_gcp/cloudbuild/get_trigger.py +12 -1
- pulumi_gcp/cloudbuild/outputs.py +366 -30
- pulumi_gcp/cloudbuild/trigger.py +156 -0
- pulumi_gcp/cloudbuild/worker_pool.py +23 -34
- pulumi_gcp/cloudfunctions/function.py +8 -4
- pulumi_gcp/cloudfunctionsv2/_inputs.py +23 -21
- pulumi_gcp/cloudfunctionsv2/outputs.py +17 -16
- pulumi_gcp/cloudrunv2/_inputs.py +23 -26
- pulumi_gcp/cloudrunv2/outputs.py +28 -30
- pulumi_gcp/cloudrunv2/service.py +18 -12
- pulumi_gcp/cloudtasks/queue.py +98 -2
- pulumi_gcp/colab/_inputs.py +1 -114
- pulumi_gcp/colab/outputs.py +1 -106
- pulumi_gcp/composer/environment.py +49 -28
- pulumi_gcp/compute/_inputs.py +80 -0
- pulumi_gcp/compute/backend_bucket.py +54 -0
- pulumi_gcp/compute/backend_service.py +54 -0
- pulumi_gcp/compute/get_backend_bucket.py +12 -1
- pulumi_gcp/compute/get_backend_service.py +12 -1
- pulumi_gcp/compute/instance_from_machine_image.py +110 -75
- pulumi_gcp/compute/instance_from_template.py +110 -75
- pulumi_gcp/compute/instance_group_manager.py +14 -7
- pulumi_gcp/compute/instance_template.py +14 -7
- pulumi_gcp/compute/interconnect.py +8 -4
- pulumi_gcp/compute/network_peering_routes_config.py +0 -100
- pulumi_gcp/compute/organization_security_policy.py +83 -51
- pulumi_gcp/compute/outputs.py +128 -0
- pulumi_gcp/compute/packet_mirroring.py +6 -0
- pulumi_gcp/compute/region_instance_group_manager.py +14 -7
- pulumi_gcp/compute/subnetwork.py +0 -98
- pulumi_gcp/config/__init__.pyi +2 -2
- pulumi_gcp/config/vars.py +4 -4
- pulumi_gcp/container/_inputs.py +20 -0
- pulumi_gcp/container/aws_cluster.py +42 -28
- pulumi_gcp/container/aws_node_pool.py +42 -28
- pulumi_gcp/container/azure_cluster.py +70 -35
- pulumi_gcp/container/azure_node_pool.py +42 -28
- pulumi_gcp/container/outputs.py +25 -0
- pulumi_gcp/databasemigrationservice/connection_profile.py +4 -2
- pulumi_gcp/databasemigrationservice/migration_job.py +4 -2
- pulumi_gcp/dataplex/asset.py +21 -28
- pulumi_gcp/dataplex/zone.py +21 -28
- pulumi_gcp/dataproc/cluster.py +14 -21
- pulumi_gcp/dataproc/workflow_template.py +105 -42
- pulumi_gcp/diagflow/_inputs.py +152 -0
- pulumi_gcp/diagflow/cx_agent.py +425 -0
- pulumi_gcp/diagflow/outputs.py +143 -0
- pulumi_gcp/firebase/app_check_play_integrity_config.py +4 -8
- pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +2 -4
- pulumi_gcp/firebase/app_check_service_config.py +6 -12
- pulumi_gcp/firebase/app_hosting_backend.py +4 -8
- pulumi_gcp/firebase/app_hosting_build.py +4 -8
- pulumi_gcp/firebase/app_hosting_traffic.py +6 -12
- pulumi_gcp/firebase/data_connect_service.py +4 -8
- pulumi_gcp/firebase/database_instance.py +4 -8
- pulumi_gcp/gkehub/_inputs.py +0 -60
- pulumi_gcp/gkehub/get_membership.py +1 -12
- pulumi_gcp/gkehub/membership.py +0 -70
- pulumi_gcp/gkehub/outputs.py +0 -36
- pulumi_gcp/iap/__init__.py +4 -0
- pulumi_gcp/iap/_inputs.py +130 -0
- pulumi_gcp/iap/get_web_region_forwarding_rule_service_iam_policy.py +182 -0
- pulumi_gcp/iap/outputs.py +76 -0
- pulumi_gcp/{beyondcorp/application_iam_binding.py → iap/web_region_forwarding_rule_service_iam_binding.py} +321 -314
- pulumi_gcp/{beyondcorp/application_iam_member.py → iap/web_region_forwarding_rule_service_iam_member.py} +321 -314
- pulumi_gcp/iap/web_region_forwarding_rule_service_iam_policy.py +910 -0
- pulumi_gcp/kms/autokey_config.py +0 -2
- pulumi_gcp/kms/key_handle.py +0 -2
- pulumi_gcp/logging/billing_account_bucket_config.py +21 -7
- pulumi_gcp/logging/folder_bucket_config.py +21 -7
- pulumi_gcp/logging/organization_bucket_config.py +21 -7
- pulumi_gcp/memorystore/get_instance.py +1 -12
- pulumi_gcp/memorystore/instance.py +0 -70
- pulumi_gcp/monitoring/dashboard.py +14 -7
- pulumi_gcp/networkservices/lb_traffic_extension.py +24 -23
- pulumi_gcp/notebooks/__init__.py +0 -1
- pulumi_gcp/oracledatabase/cloud_vm_cluster.py +3 -3
- pulumi_gcp/organizations/project.py +21 -7
- pulumi_gcp/projects/service.py +2 -4
- pulumi_gcp/provider.py +20 -20
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/cluster.py +0 -70
- pulumi_gcp/redis/get_cluster.py +1 -12
- pulumi_gcp/saasruntime/__init__.py +11 -0
- pulumi_gcp/saasruntime/_inputs.py +55 -0
- pulumi_gcp/saasruntime/outputs.py +39 -0
- pulumi_gcp/saasruntime/saa_s.py +815 -0
- pulumi_gcp/securesourcemanager/_inputs.py +20 -19
- pulumi_gcp/securesourcemanager/outputs.py +15 -14
- pulumi_gcp/serviceaccount/get_account_key.py +1 -21
- pulumi_gcp/sql/database_instance.py +61 -7
- pulumi_gcp/sql/get_database_instance.py +12 -1
- pulumi_gcp/sql/outputs.py +11 -0
- pulumi_gcp/sql/user.py +61 -0
- pulumi_gcp/storage/_inputs.py +7 -7
- pulumi_gcp/storage/bucket.py +14 -7
- pulumi_gcp/storage/outputs.py +7 -7
- pulumi_gcp/tpu/__init__.py +0 -2
- pulumi_gcp/tpu/_inputs.py +0 -93
- pulumi_gcp/tpu/outputs.py +0 -72
- pulumi_gcp/vertex/_inputs.py +8 -9
- pulumi_gcp/vertex/ai_endpoint.py +2 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +0 -2
- pulumi_gcp/vertex/ai_index.py +24 -23
- pulumi_gcp/vertex/outputs.py +7 -8
- {pulumi_gcp-8.42.0a1756968228.dist-info → pulumi_gcp-9.0.0a1.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.42.0a1756968228.dist-info → pulumi_gcp-9.0.0a1.dist-info}/RECORD +143 -141
- pulumi_gcp/beyondcorp/application.py +0 -746
- pulumi_gcp/beyondcorp/application_iam_policy.py +0 -903
- pulumi_gcp/beyondcorp/get_application_iam_policy.py +0 -182
- pulumi_gcp/notebooks/location.py +0 -285
- pulumi_gcp/tpu/get_tensorflow_versions.py +0 -184
- pulumi_gcp/tpu/node.py +0 -1062
- {pulumi_gcp-8.42.0a1756968228.dist-info → pulumi_gcp-9.0.0a1.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.42.0a1756968228.dist-info → pulumi_gcp-9.0.0a1.dist-info}/top_level.txt +0 -0
pulumi_gcp/tpu/node.py
DELETED
@@ -1,1062 +0,0 @@
|
|
1
|
-
# coding=utf-8
|
2
|
-
# *** WARNING: this file was generated by pulumi-language-python. ***
|
3
|
-
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
-
|
5
|
-
import builtins as _builtins
|
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
|
-
from ._inputs import *
|
18
|
-
|
19
|
-
__all__ = ['NodeArgs', 'Node']
|
20
|
-
|
21
|
-
@pulumi.input_type
|
22
|
-
class NodeArgs:
|
23
|
-
def __init__(__self__, *,
|
24
|
-
accelerator_type: pulumi.Input[_builtins.str],
|
25
|
-
tensorflow_version: pulumi.Input[_builtins.str],
|
26
|
-
cidr_block: Optional[pulumi.Input[_builtins.str]] = None,
|
27
|
-
description: Optional[pulumi.Input[_builtins.str]] = None,
|
28
|
-
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
29
|
-
name: Optional[pulumi.Input[_builtins.str]] = None,
|
30
|
-
network: Optional[pulumi.Input[_builtins.str]] = None,
|
31
|
-
project: Optional[pulumi.Input[_builtins.str]] = None,
|
32
|
-
scheduling_config: Optional[pulumi.Input['NodeSchedulingConfigArgs']] = None,
|
33
|
-
use_service_networking: Optional[pulumi.Input[_builtins.bool]] = None,
|
34
|
-
zone: Optional[pulumi.Input[_builtins.str]] = None):
|
35
|
-
"""
|
36
|
-
The set of arguments for constructing a Node resource.
|
37
|
-
:param pulumi.Input[_builtins.str] accelerator_type: The type of hardware accelerators associated with this node.
|
38
|
-
:param pulumi.Input[_builtins.str] tensorflow_version: The version of Tensorflow running in the Node.
|
39
|
-
:param pulumi.Input[_builtins.str] cidr_block: The CIDR block that the TPU node will use when selecting an IP
|
40
|
-
address. This CIDR block must be a /29 block; the Compute Engine
|
41
|
-
networks API forbids a smaller block, and using a larger block would
|
42
|
-
be wasteful (a node can only consume one IP address).
|
43
|
-
Errors will occur if the CIDR block has already been used for a
|
44
|
-
currently existing TPU node, the CIDR block conflicts with any
|
45
|
-
subnetworks in the user's provided network, or the provided network
|
46
|
-
is peered with another network that is using that CIDR block.
|
47
|
-
:param pulumi.Input[_builtins.str] description: The user-supplied description of the TPU. Maximum of 512 characters.
|
48
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Resource labels to represent user provided metadata.
|
49
|
-
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
50
|
-
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
51
|
-
:param pulumi.Input[_builtins.str] name: The immutable name of the TPU.
|
52
|
-
:param pulumi.Input[_builtins.str] network: The name of a network to peer the TPU node to. It must be a
|
53
|
-
preexisting Compute Engine network inside of the project on which
|
54
|
-
this API has been activated. If none is provided, "default" will be
|
55
|
-
used.
|
56
|
-
:param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
|
57
|
-
If it is not provided, the provider project is used.
|
58
|
-
:param pulumi.Input['NodeSchedulingConfigArgs'] scheduling_config: Sets the scheduling options for this TPU instance.
|
59
|
-
Structure is documented below.
|
60
|
-
:param pulumi.Input[_builtins.bool] use_service_networking: Whether the VPC peering for the node is set up through Service Networking API.
|
61
|
-
The VPC Peering should be set up before provisioning the node. If this field is set,
|
62
|
-
cidr_block field should not be specified. If the network that you want to peer the
|
63
|
-
TPU Node to is a Shared VPC network, the node must be created with this this field enabled.
|
64
|
-
:param pulumi.Input[_builtins.str] zone: The GCP location for the TPU. If it is not provided, the provider zone is used.
|
65
|
-
"""
|
66
|
-
pulumi.set(__self__, "accelerator_type", accelerator_type)
|
67
|
-
pulumi.set(__self__, "tensorflow_version", tensorflow_version)
|
68
|
-
if cidr_block is not None:
|
69
|
-
pulumi.set(__self__, "cidr_block", cidr_block)
|
70
|
-
if description is not None:
|
71
|
-
pulumi.set(__self__, "description", description)
|
72
|
-
if labels is not None:
|
73
|
-
pulumi.set(__self__, "labels", labels)
|
74
|
-
if name is not None:
|
75
|
-
pulumi.set(__self__, "name", name)
|
76
|
-
if network is not None:
|
77
|
-
pulumi.set(__self__, "network", network)
|
78
|
-
if project is not None:
|
79
|
-
pulumi.set(__self__, "project", project)
|
80
|
-
if scheduling_config is not None:
|
81
|
-
pulumi.set(__self__, "scheduling_config", scheduling_config)
|
82
|
-
if use_service_networking is not None:
|
83
|
-
pulumi.set(__self__, "use_service_networking", use_service_networking)
|
84
|
-
if zone is not None:
|
85
|
-
pulumi.set(__self__, "zone", zone)
|
86
|
-
|
87
|
-
@_builtins.property
|
88
|
-
@pulumi.getter(name="acceleratorType")
|
89
|
-
def accelerator_type(self) -> pulumi.Input[_builtins.str]:
|
90
|
-
"""
|
91
|
-
The type of hardware accelerators associated with this node.
|
92
|
-
"""
|
93
|
-
return pulumi.get(self, "accelerator_type")
|
94
|
-
|
95
|
-
@accelerator_type.setter
|
96
|
-
def accelerator_type(self, value: pulumi.Input[_builtins.str]):
|
97
|
-
pulumi.set(self, "accelerator_type", value)
|
98
|
-
|
99
|
-
@_builtins.property
|
100
|
-
@pulumi.getter(name="tensorflowVersion")
|
101
|
-
def tensorflow_version(self) -> pulumi.Input[_builtins.str]:
|
102
|
-
"""
|
103
|
-
The version of Tensorflow running in the Node.
|
104
|
-
"""
|
105
|
-
return pulumi.get(self, "tensorflow_version")
|
106
|
-
|
107
|
-
@tensorflow_version.setter
|
108
|
-
def tensorflow_version(self, value: pulumi.Input[_builtins.str]):
|
109
|
-
pulumi.set(self, "tensorflow_version", value)
|
110
|
-
|
111
|
-
@_builtins.property
|
112
|
-
@pulumi.getter(name="cidrBlock")
|
113
|
-
def cidr_block(self) -> Optional[pulumi.Input[_builtins.str]]:
|
114
|
-
"""
|
115
|
-
The CIDR block that the TPU node will use when selecting an IP
|
116
|
-
address. This CIDR block must be a /29 block; the Compute Engine
|
117
|
-
networks API forbids a smaller block, and using a larger block would
|
118
|
-
be wasteful (a node can only consume one IP address).
|
119
|
-
Errors will occur if the CIDR block has already been used for a
|
120
|
-
currently existing TPU node, the CIDR block conflicts with any
|
121
|
-
subnetworks in the user's provided network, or the provided network
|
122
|
-
is peered with another network that is using that CIDR block.
|
123
|
-
"""
|
124
|
-
return pulumi.get(self, "cidr_block")
|
125
|
-
|
126
|
-
@cidr_block.setter
|
127
|
-
def cidr_block(self, value: Optional[pulumi.Input[_builtins.str]]):
|
128
|
-
pulumi.set(self, "cidr_block", value)
|
129
|
-
|
130
|
-
@_builtins.property
|
131
|
-
@pulumi.getter
|
132
|
-
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
133
|
-
"""
|
134
|
-
The user-supplied description of the TPU. Maximum of 512 characters.
|
135
|
-
"""
|
136
|
-
return pulumi.get(self, "description")
|
137
|
-
|
138
|
-
@description.setter
|
139
|
-
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
140
|
-
pulumi.set(self, "description", value)
|
141
|
-
|
142
|
-
@_builtins.property
|
143
|
-
@pulumi.getter
|
144
|
-
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
145
|
-
"""
|
146
|
-
Resource labels to represent user provided metadata.
|
147
|
-
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
148
|
-
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
149
|
-
"""
|
150
|
-
return pulumi.get(self, "labels")
|
151
|
-
|
152
|
-
@labels.setter
|
153
|
-
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
154
|
-
pulumi.set(self, "labels", value)
|
155
|
-
|
156
|
-
@_builtins.property
|
157
|
-
@pulumi.getter
|
158
|
-
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
159
|
-
"""
|
160
|
-
The immutable name of the TPU.
|
161
|
-
"""
|
162
|
-
return pulumi.get(self, "name")
|
163
|
-
|
164
|
-
@name.setter
|
165
|
-
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
166
|
-
pulumi.set(self, "name", value)
|
167
|
-
|
168
|
-
@_builtins.property
|
169
|
-
@pulumi.getter
|
170
|
-
def network(self) -> Optional[pulumi.Input[_builtins.str]]:
|
171
|
-
"""
|
172
|
-
The name of a network to peer the TPU node to. It must be a
|
173
|
-
preexisting Compute Engine network inside of the project on which
|
174
|
-
this API has been activated. If none is provided, "default" will be
|
175
|
-
used.
|
176
|
-
"""
|
177
|
-
return pulumi.get(self, "network")
|
178
|
-
|
179
|
-
@network.setter
|
180
|
-
def network(self, value: Optional[pulumi.Input[_builtins.str]]):
|
181
|
-
pulumi.set(self, "network", value)
|
182
|
-
|
183
|
-
@_builtins.property
|
184
|
-
@pulumi.getter
|
185
|
-
def project(self) -> Optional[pulumi.Input[_builtins.str]]:
|
186
|
-
"""
|
187
|
-
The ID of the project in which the resource belongs.
|
188
|
-
If it is not provided, the provider project is used.
|
189
|
-
"""
|
190
|
-
return pulumi.get(self, "project")
|
191
|
-
|
192
|
-
@project.setter
|
193
|
-
def project(self, value: Optional[pulumi.Input[_builtins.str]]):
|
194
|
-
pulumi.set(self, "project", value)
|
195
|
-
|
196
|
-
@_builtins.property
|
197
|
-
@pulumi.getter(name="schedulingConfig")
|
198
|
-
def scheduling_config(self) -> Optional[pulumi.Input['NodeSchedulingConfigArgs']]:
|
199
|
-
"""
|
200
|
-
Sets the scheduling options for this TPU instance.
|
201
|
-
Structure is documented below.
|
202
|
-
"""
|
203
|
-
return pulumi.get(self, "scheduling_config")
|
204
|
-
|
205
|
-
@scheduling_config.setter
|
206
|
-
def scheduling_config(self, value: Optional[pulumi.Input['NodeSchedulingConfigArgs']]):
|
207
|
-
pulumi.set(self, "scheduling_config", value)
|
208
|
-
|
209
|
-
@_builtins.property
|
210
|
-
@pulumi.getter(name="useServiceNetworking")
|
211
|
-
def use_service_networking(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
212
|
-
"""
|
213
|
-
Whether the VPC peering for the node is set up through Service Networking API.
|
214
|
-
The VPC Peering should be set up before provisioning the node. If this field is set,
|
215
|
-
cidr_block field should not be specified. If the network that you want to peer the
|
216
|
-
TPU Node to is a Shared VPC network, the node must be created with this this field enabled.
|
217
|
-
"""
|
218
|
-
return pulumi.get(self, "use_service_networking")
|
219
|
-
|
220
|
-
@use_service_networking.setter
|
221
|
-
def use_service_networking(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
222
|
-
pulumi.set(self, "use_service_networking", value)
|
223
|
-
|
224
|
-
@_builtins.property
|
225
|
-
@pulumi.getter
|
226
|
-
def zone(self) -> Optional[pulumi.Input[_builtins.str]]:
|
227
|
-
"""
|
228
|
-
The GCP location for the TPU. If it is not provided, the provider zone is used.
|
229
|
-
"""
|
230
|
-
return pulumi.get(self, "zone")
|
231
|
-
|
232
|
-
@zone.setter
|
233
|
-
def zone(self, value: Optional[pulumi.Input[_builtins.str]]):
|
234
|
-
pulumi.set(self, "zone", value)
|
235
|
-
|
236
|
-
|
237
|
-
@pulumi.input_type
|
238
|
-
class _NodeState:
|
239
|
-
def __init__(__self__, *,
|
240
|
-
accelerator_type: Optional[pulumi.Input[_builtins.str]] = None,
|
241
|
-
cidr_block: Optional[pulumi.Input[_builtins.str]] = None,
|
242
|
-
description: Optional[pulumi.Input[_builtins.str]] = None,
|
243
|
-
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
244
|
-
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
245
|
-
name: Optional[pulumi.Input[_builtins.str]] = None,
|
246
|
-
network: Optional[pulumi.Input[_builtins.str]] = None,
|
247
|
-
network_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['NodeNetworkEndpointArgs']]]] = None,
|
248
|
-
project: Optional[pulumi.Input[_builtins.str]] = None,
|
249
|
-
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
250
|
-
scheduling_config: Optional[pulumi.Input['NodeSchedulingConfigArgs']] = None,
|
251
|
-
service_account: Optional[pulumi.Input[_builtins.str]] = None,
|
252
|
-
tensorflow_version: Optional[pulumi.Input[_builtins.str]] = None,
|
253
|
-
use_service_networking: Optional[pulumi.Input[_builtins.bool]] = None,
|
254
|
-
zone: Optional[pulumi.Input[_builtins.str]] = None):
|
255
|
-
"""
|
256
|
-
Input properties used for looking up and filtering Node resources.
|
257
|
-
:param pulumi.Input[_builtins.str] accelerator_type: The type of hardware accelerators associated with this node.
|
258
|
-
:param pulumi.Input[_builtins.str] cidr_block: The CIDR block that the TPU node will use when selecting an IP
|
259
|
-
address. This CIDR block must be a /29 block; the Compute Engine
|
260
|
-
networks API forbids a smaller block, and using a larger block would
|
261
|
-
be wasteful (a node can only consume one IP address).
|
262
|
-
Errors will occur if the CIDR block has already been used for a
|
263
|
-
currently existing TPU node, the CIDR block conflicts with any
|
264
|
-
subnetworks in the user's provided network, or the provided network
|
265
|
-
is peered with another network that is using that CIDR block.
|
266
|
-
:param pulumi.Input[_builtins.str] description: The user-supplied description of the TPU. Maximum of 512 characters.
|
267
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
268
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Resource labels to represent user provided metadata.
|
269
|
-
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
270
|
-
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
271
|
-
:param pulumi.Input[_builtins.str] name: The immutable name of the TPU.
|
272
|
-
:param pulumi.Input[_builtins.str] network: The name of a network to peer the TPU node to. It must be a
|
273
|
-
preexisting Compute Engine network inside of the project on which
|
274
|
-
this API has been activated. If none is provided, "default" will be
|
275
|
-
used.
|
276
|
-
:param pulumi.Input[Sequence[pulumi.Input['NodeNetworkEndpointArgs']]] network_endpoints: The network endpoints where TPU workers can be accessed and sent work.
|
277
|
-
It is recommended that Tensorflow clients of the node first reach out
|
278
|
-
to the first (index 0) entry.
|
279
|
-
Structure is documented below.
|
280
|
-
:param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
|
281
|
-
If it is not provided, the provider project is used.
|
282
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
|
283
|
-
and default labels configured on the provider.
|
284
|
-
:param pulumi.Input['NodeSchedulingConfigArgs'] scheduling_config: Sets the scheduling options for this TPU instance.
|
285
|
-
Structure is documented below.
|
286
|
-
:param pulumi.Input[_builtins.str] service_account: The service account used to run the tensor flow services within the
|
287
|
-
node. To share resources, including Google Cloud Storage data, with
|
288
|
-
the Tensorflow job running in the Node, this account must have
|
289
|
-
permissions to that data.
|
290
|
-
:param pulumi.Input[_builtins.str] tensorflow_version: The version of Tensorflow running in the Node.
|
291
|
-
:param pulumi.Input[_builtins.bool] use_service_networking: Whether the VPC peering for the node is set up through Service Networking API.
|
292
|
-
The VPC Peering should be set up before provisioning the node. If this field is set,
|
293
|
-
cidr_block field should not be specified. If the network that you want to peer the
|
294
|
-
TPU Node to is a Shared VPC network, the node must be created with this this field enabled.
|
295
|
-
:param pulumi.Input[_builtins.str] zone: The GCP location for the TPU. If it is not provided, the provider zone is used.
|
296
|
-
"""
|
297
|
-
if accelerator_type is not None:
|
298
|
-
pulumi.set(__self__, "accelerator_type", accelerator_type)
|
299
|
-
if cidr_block is not None:
|
300
|
-
pulumi.set(__self__, "cidr_block", cidr_block)
|
301
|
-
if description is not None:
|
302
|
-
pulumi.set(__self__, "description", description)
|
303
|
-
if effective_labels is not None:
|
304
|
-
pulumi.set(__self__, "effective_labels", effective_labels)
|
305
|
-
if labels is not None:
|
306
|
-
pulumi.set(__self__, "labels", labels)
|
307
|
-
if name is not None:
|
308
|
-
pulumi.set(__self__, "name", name)
|
309
|
-
if network is not None:
|
310
|
-
pulumi.set(__self__, "network", network)
|
311
|
-
if network_endpoints is not None:
|
312
|
-
pulumi.set(__self__, "network_endpoints", network_endpoints)
|
313
|
-
if project is not None:
|
314
|
-
pulumi.set(__self__, "project", project)
|
315
|
-
if pulumi_labels is not None:
|
316
|
-
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
317
|
-
if scheduling_config is not None:
|
318
|
-
pulumi.set(__self__, "scheduling_config", scheduling_config)
|
319
|
-
if service_account is not None:
|
320
|
-
pulumi.set(__self__, "service_account", service_account)
|
321
|
-
if tensorflow_version is not None:
|
322
|
-
pulumi.set(__self__, "tensorflow_version", tensorflow_version)
|
323
|
-
if use_service_networking is not None:
|
324
|
-
pulumi.set(__self__, "use_service_networking", use_service_networking)
|
325
|
-
if zone is not None:
|
326
|
-
pulumi.set(__self__, "zone", zone)
|
327
|
-
|
328
|
-
@_builtins.property
|
329
|
-
@pulumi.getter(name="acceleratorType")
|
330
|
-
def accelerator_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
331
|
-
"""
|
332
|
-
The type of hardware accelerators associated with this node.
|
333
|
-
"""
|
334
|
-
return pulumi.get(self, "accelerator_type")
|
335
|
-
|
336
|
-
@accelerator_type.setter
|
337
|
-
def accelerator_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
338
|
-
pulumi.set(self, "accelerator_type", value)
|
339
|
-
|
340
|
-
@_builtins.property
|
341
|
-
@pulumi.getter(name="cidrBlock")
|
342
|
-
def cidr_block(self) -> Optional[pulumi.Input[_builtins.str]]:
|
343
|
-
"""
|
344
|
-
The CIDR block that the TPU node will use when selecting an IP
|
345
|
-
address. This CIDR block must be a /29 block; the Compute Engine
|
346
|
-
networks API forbids a smaller block, and using a larger block would
|
347
|
-
be wasteful (a node can only consume one IP address).
|
348
|
-
Errors will occur if the CIDR block has already been used for a
|
349
|
-
currently existing TPU node, the CIDR block conflicts with any
|
350
|
-
subnetworks in the user's provided network, or the provided network
|
351
|
-
is peered with another network that is using that CIDR block.
|
352
|
-
"""
|
353
|
-
return pulumi.get(self, "cidr_block")
|
354
|
-
|
355
|
-
@cidr_block.setter
|
356
|
-
def cidr_block(self, value: Optional[pulumi.Input[_builtins.str]]):
|
357
|
-
pulumi.set(self, "cidr_block", value)
|
358
|
-
|
359
|
-
@_builtins.property
|
360
|
-
@pulumi.getter
|
361
|
-
def description(self) -> Optional[pulumi.Input[_builtins.str]]:
|
362
|
-
"""
|
363
|
-
The user-supplied description of the TPU. Maximum of 512 characters.
|
364
|
-
"""
|
365
|
-
return pulumi.get(self, "description")
|
366
|
-
|
367
|
-
@description.setter
|
368
|
-
def description(self, value: Optional[pulumi.Input[_builtins.str]]):
|
369
|
-
pulumi.set(self, "description", value)
|
370
|
-
|
371
|
-
@_builtins.property
|
372
|
-
@pulumi.getter(name="effectiveLabels")
|
373
|
-
def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
374
|
-
"""
|
375
|
-
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
376
|
-
"""
|
377
|
-
return pulumi.get(self, "effective_labels")
|
378
|
-
|
379
|
-
@effective_labels.setter
|
380
|
-
def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
381
|
-
pulumi.set(self, "effective_labels", value)
|
382
|
-
|
383
|
-
@_builtins.property
|
384
|
-
@pulumi.getter
|
385
|
-
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
386
|
-
"""
|
387
|
-
Resource labels to represent user provided metadata.
|
388
|
-
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
389
|
-
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
390
|
-
"""
|
391
|
-
return pulumi.get(self, "labels")
|
392
|
-
|
393
|
-
@labels.setter
|
394
|
-
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
395
|
-
pulumi.set(self, "labels", value)
|
396
|
-
|
397
|
-
@_builtins.property
|
398
|
-
@pulumi.getter
|
399
|
-
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
400
|
-
"""
|
401
|
-
The immutable name of the TPU.
|
402
|
-
"""
|
403
|
-
return pulumi.get(self, "name")
|
404
|
-
|
405
|
-
@name.setter
|
406
|
-
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
407
|
-
pulumi.set(self, "name", value)
|
408
|
-
|
409
|
-
@_builtins.property
|
410
|
-
@pulumi.getter
|
411
|
-
def network(self) -> Optional[pulumi.Input[_builtins.str]]:
|
412
|
-
"""
|
413
|
-
The name of a network to peer the TPU node to. It must be a
|
414
|
-
preexisting Compute Engine network inside of the project on which
|
415
|
-
this API has been activated. If none is provided, "default" will be
|
416
|
-
used.
|
417
|
-
"""
|
418
|
-
return pulumi.get(self, "network")
|
419
|
-
|
420
|
-
@network.setter
|
421
|
-
def network(self, value: Optional[pulumi.Input[_builtins.str]]):
|
422
|
-
pulumi.set(self, "network", value)
|
423
|
-
|
424
|
-
@_builtins.property
|
425
|
-
@pulumi.getter(name="networkEndpoints")
|
426
|
-
def network_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodeNetworkEndpointArgs']]]]:
|
427
|
-
"""
|
428
|
-
The network endpoints where TPU workers can be accessed and sent work.
|
429
|
-
It is recommended that Tensorflow clients of the node first reach out
|
430
|
-
to the first (index 0) entry.
|
431
|
-
Structure is documented below.
|
432
|
-
"""
|
433
|
-
return pulumi.get(self, "network_endpoints")
|
434
|
-
|
435
|
-
@network_endpoints.setter
|
436
|
-
def network_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodeNetworkEndpointArgs']]]]):
|
437
|
-
pulumi.set(self, "network_endpoints", value)
|
438
|
-
|
439
|
-
@_builtins.property
|
440
|
-
@pulumi.getter
|
441
|
-
def project(self) -> Optional[pulumi.Input[_builtins.str]]:
|
442
|
-
"""
|
443
|
-
The ID of the project in which the resource belongs.
|
444
|
-
If it is not provided, the provider project is used.
|
445
|
-
"""
|
446
|
-
return pulumi.get(self, "project")
|
447
|
-
|
448
|
-
@project.setter
|
449
|
-
def project(self, value: Optional[pulumi.Input[_builtins.str]]):
|
450
|
-
pulumi.set(self, "project", value)
|
451
|
-
|
452
|
-
@_builtins.property
|
453
|
-
@pulumi.getter(name="pulumiLabels")
|
454
|
-
def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
455
|
-
"""
|
456
|
-
The combination of labels configured directly on the resource
|
457
|
-
and default labels configured on the provider.
|
458
|
-
"""
|
459
|
-
return pulumi.get(self, "pulumi_labels")
|
460
|
-
|
461
|
-
@pulumi_labels.setter
|
462
|
-
def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
463
|
-
pulumi.set(self, "pulumi_labels", value)
|
464
|
-
|
465
|
-
@_builtins.property
|
466
|
-
@pulumi.getter(name="schedulingConfig")
|
467
|
-
def scheduling_config(self) -> Optional[pulumi.Input['NodeSchedulingConfigArgs']]:
|
468
|
-
"""
|
469
|
-
Sets the scheduling options for this TPU instance.
|
470
|
-
Structure is documented below.
|
471
|
-
"""
|
472
|
-
return pulumi.get(self, "scheduling_config")
|
473
|
-
|
474
|
-
@scheduling_config.setter
|
475
|
-
def scheduling_config(self, value: Optional[pulumi.Input['NodeSchedulingConfigArgs']]):
|
476
|
-
pulumi.set(self, "scheduling_config", value)
|
477
|
-
|
478
|
-
@_builtins.property
|
479
|
-
@pulumi.getter(name="serviceAccount")
|
480
|
-
def service_account(self) -> Optional[pulumi.Input[_builtins.str]]:
|
481
|
-
"""
|
482
|
-
The service account used to run the tensor flow services within the
|
483
|
-
node. To share resources, including Google Cloud Storage data, with
|
484
|
-
the Tensorflow job running in the Node, this account must have
|
485
|
-
permissions to that data.
|
486
|
-
"""
|
487
|
-
return pulumi.get(self, "service_account")
|
488
|
-
|
489
|
-
@service_account.setter
|
490
|
-
def service_account(self, value: Optional[pulumi.Input[_builtins.str]]):
|
491
|
-
pulumi.set(self, "service_account", value)
|
492
|
-
|
493
|
-
@_builtins.property
|
494
|
-
@pulumi.getter(name="tensorflowVersion")
|
495
|
-
def tensorflow_version(self) -> Optional[pulumi.Input[_builtins.str]]:
|
496
|
-
"""
|
497
|
-
The version of Tensorflow running in the Node.
|
498
|
-
"""
|
499
|
-
return pulumi.get(self, "tensorflow_version")
|
500
|
-
|
501
|
-
@tensorflow_version.setter
|
502
|
-
def tensorflow_version(self, value: Optional[pulumi.Input[_builtins.str]]):
|
503
|
-
pulumi.set(self, "tensorflow_version", value)
|
504
|
-
|
505
|
-
@_builtins.property
|
506
|
-
@pulumi.getter(name="useServiceNetworking")
|
507
|
-
def use_service_networking(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
508
|
-
"""
|
509
|
-
Whether the VPC peering for the node is set up through Service Networking API.
|
510
|
-
The VPC Peering should be set up before provisioning the node. If this field is set,
|
511
|
-
cidr_block field should not be specified. If the network that you want to peer the
|
512
|
-
TPU Node to is a Shared VPC network, the node must be created with this this field enabled.
|
513
|
-
"""
|
514
|
-
return pulumi.get(self, "use_service_networking")
|
515
|
-
|
516
|
-
@use_service_networking.setter
|
517
|
-
def use_service_networking(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
518
|
-
pulumi.set(self, "use_service_networking", value)
|
519
|
-
|
520
|
-
@_builtins.property
|
521
|
-
@pulumi.getter
|
522
|
-
def zone(self) -> Optional[pulumi.Input[_builtins.str]]:
|
523
|
-
"""
|
524
|
-
The GCP location for the TPU. If it is not provided, the provider zone is used.
|
525
|
-
"""
|
526
|
-
return pulumi.get(self, "zone")
|
527
|
-
|
528
|
-
@zone.setter
|
529
|
-
def zone(self, value: Optional[pulumi.Input[_builtins.str]]):
|
530
|
-
pulumi.set(self, "zone", value)
|
531
|
-
|
532
|
-
|
533
|
-
@pulumi.type_token("gcp:tpu/node:Node")
|
534
|
-
class Node(pulumi.CustomResource):
|
535
|
-
@overload
|
536
|
-
def __init__(__self__,
|
537
|
-
resource_name: str,
|
538
|
-
opts: Optional[pulumi.ResourceOptions] = None,
|
539
|
-
accelerator_type: Optional[pulumi.Input[_builtins.str]] = None,
|
540
|
-
cidr_block: Optional[pulumi.Input[_builtins.str]] = None,
|
541
|
-
description: Optional[pulumi.Input[_builtins.str]] = None,
|
542
|
-
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
543
|
-
name: Optional[pulumi.Input[_builtins.str]] = None,
|
544
|
-
network: Optional[pulumi.Input[_builtins.str]] = None,
|
545
|
-
project: Optional[pulumi.Input[_builtins.str]] = None,
|
546
|
-
scheduling_config: Optional[pulumi.Input[Union['NodeSchedulingConfigArgs', 'NodeSchedulingConfigArgsDict']]] = None,
|
547
|
-
tensorflow_version: Optional[pulumi.Input[_builtins.str]] = None,
|
548
|
-
use_service_networking: Optional[pulumi.Input[_builtins.bool]] = None,
|
549
|
-
zone: Optional[pulumi.Input[_builtins.str]] = None,
|
550
|
-
__props__=None):
|
551
|
-
"""
|
552
|
-
> **Warning:** `tpu.Node` is deprecated and will be removed in a future major release. Use `tpu.V2Vm` instead. For moving from TPU Node to TPU VM architecture, see https://cloud.google.com/tpu/docs/system-architecture-tpu-vm#from-tpu-node-to-tpu-vm.
|
553
|
-
|
554
|
-
A Cloud TPU instance.
|
555
|
-
|
556
|
-
To get more information about Node, see:
|
557
|
-
|
558
|
-
* [API documentation](https://cloud.google.com/tpu/docs/reference/rest/v1/projects.locations.nodes)
|
559
|
-
* How-to Guides
|
560
|
-
* [Official Documentation](https://cloud.google.com/tpu/docs/)
|
561
|
-
|
562
|
-
## Example Usage
|
563
|
-
|
564
|
-
### Tpu Node Basic
|
565
|
-
|
566
|
-
```python
|
567
|
-
import pulumi
|
568
|
-
import pulumi_gcp as gcp
|
569
|
-
|
570
|
-
available = gcp.tpu.get_tensorflow_versions()
|
571
|
-
tpu = gcp.tpu.Node("tpu",
|
572
|
-
name="test-tpu",
|
573
|
-
zone="us-central1-b",
|
574
|
-
accelerator_type="v3-8",
|
575
|
-
tensorflow_version=available.versions[0],
|
576
|
-
cidr_block="10.2.0.0/29")
|
577
|
-
```
|
578
|
-
### Tpu Node Full
|
579
|
-
|
580
|
-
```python
|
581
|
-
import pulumi
|
582
|
-
import pulumi_gcp as gcp
|
583
|
-
|
584
|
-
available = gcp.tpu.get_tensorflow_versions()
|
585
|
-
network = gcp.compute.Network("network", name="tpu-node-network")
|
586
|
-
service_range = gcp.compute.GlobalAddress("service_range",
|
587
|
-
name="my-global-address",
|
588
|
-
purpose="VPC_PEERING",
|
589
|
-
address_type="INTERNAL",
|
590
|
-
prefix_length=16,
|
591
|
-
network=network.id)
|
592
|
-
private_service_connection = gcp.servicenetworking.Connection("private_service_connection",
|
593
|
-
network=network.id,
|
594
|
-
service="servicenetworking.googleapis.com",
|
595
|
-
reserved_peering_ranges=[service_range.name])
|
596
|
-
tpu = gcp.tpu.Node("tpu",
|
597
|
-
name="test-tpu",
|
598
|
-
zone="us-central1-b",
|
599
|
-
accelerator_type="v3-8",
|
600
|
-
tensorflow_version=available.versions[0],
|
601
|
-
description="Google Provider test TPU",
|
602
|
-
use_service_networking=True,
|
603
|
-
network=private_service_connection.network,
|
604
|
-
labels={
|
605
|
-
"foo": "bar",
|
606
|
-
},
|
607
|
-
scheduling_config={
|
608
|
-
"preemptible": True,
|
609
|
-
})
|
610
|
-
```
|
611
|
-
|
612
|
-
## Import
|
613
|
-
|
614
|
-
Node can be imported using any of these accepted formats:
|
615
|
-
|
616
|
-
* `projects/{{project}}/locations/{{zone}}/nodes/{{name}}`
|
617
|
-
|
618
|
-
* `{{project}}/{{zone}}/{{name}}`
|
619
|
-
|
620
|
-
* `{{zone}}/{{name}}`
|
621
|
-
|
622
|
-
* `{{name}}`
|
623
|
-
|
624
|
-
When using the `pulumi import` command, Node can be imported using one of the formats above. For example:
|
625
|
-
|
626
|
-
```sh
|
627
|
-
$ pulumi import gcp:tpu/node:Node default projects/{{project}}/locations/{{zone}}/nodes/{{name}}
|
628
|
-
```
|
629
|
-
|
630
|
-
```sh
|
631
|
-
$ pulumi import gcp:tpu/node:Node default {{project}}/{{zone}}/{{name}}
|
632
|
-
```
|
633
|
-
|
634
|
-
```sh
|
635
|
-
$ pulumi import gcp:tpu/node:Node default {{zone}}/{{name}}
|
636
|
-
```
|
637
|
-
|
638
|
-
```sh
|
639
|
-
$ pulumi import gcp:tpu/node:Node default {{name}}
|
640
|
-
```
|
641
|
-
|
642
|
-
:param str resource_name: The name of the resource.
|
643
|
-
:param pulumi.ResourceOptions opts: Options for the resource.
|
644
|
-
:param pulumi.Input[_builtins.str] accelerator_type: The type of hardware accelerators associated with this node.
|
645
|
-
:param pulumi.Input[_builtins.str] cidr_block: The CIDR block that the TPU node will use when selecting an IP
|
646
|
-
address. This CIDR block must be a /29 block; the Compute Engine
|
647
|
-
networks API forbids a smaller block, and using a larger block would
|
648
|
-
be wasteful (a node can only consume one IP address).
|
649
|
-
Errors will occur if the CIDR block has already been used for a
|
650
|
-
currently existing TPU node, the CIDR block conflicts with any
|
651
|
-
subnetworks in the user's provided network, or the provided network
|
652
|
-
is peered with another network that is using that CIDR block.
|
653
|
-
:param pulumi.Input[_builtins.str] description: The user-supplied description of the TPU. Maximum of 512 characters.
|
654
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Resource labels to represent user provided metadata.
|
655
|
-
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
656
|
-
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
657
|
-
:param pulumi.Input[_builtins.str] name: The immutable name of the TPU.
|
658
|
-
:param pulumi.Input[_builtins.str] network: The name of a network to peer the TPU node to. It must be a
|
659
|
-
preexisting Compute Engine network inside of the project on which
|
660
|
-
this API has been activated. If none is provided, "default" will be
|
661
|
-
used.
|
662
|
-
:param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
|
663
|
-
If it is not provided, the provider project is used.
|
664
|
-
:param pulumi.Input[Union['NodeSchedulingConfigArgs', 'NodeSchedulingConfigArgsDict']] scheduling_config: Sets the scheduling options for this TPU instance.
|
665
|
-
Structure is documented below.
|
666
|
-
:param pulumi.Input[_builtins.str] tensorflow_version: The version of Tensorflow running in the Node.
|
667
|
-
:param pulumi.Input[_builtins.bool] use_service_networking: Whether the VPC peering for the node is set up through Service Networking API.
|
668
|
-
The VPC Peering should be set up before provisioning the node. If this field is set,
|
669
|
-
cidr_block field should not be specified. If the network that you want to peer the
|
670
|
-
TPU Node to is a Shared VPC network, the node must be created with this this field enabled.
|
671
|
-
:param pulumi.Input[_builtins.str] zone: The GCP location for the TPU. If it is not provided, the provider zone is used.
|
672
|
-
"""
|
673
|
-
...
|
674
|
-
@overload
|
675
|
-
def __init__(__self__,
|
676
|
-
resource_name: str,
|
677
|
-
args: NodeArgs,
|
678
|
-
opts: Optional[pulumi.ResourceOptions] = None):
|
679
|
-
"""
|
680
|
-
> **Warning:** `tpu.Node` is deprecated and will be removed in a future major release. Use `tpu.V2Vm` instead. For moving from TPU Node to TPU VM architecture, see https://cloud.google.com/tpu/docs/system-architecture-tpu-vm#from-tpu-node-to-tpu-vm.
|
681
|
-
|
682
|
-
A Cloud TPU instance.
|
683
|
-
|
684
|
-
To get more information about Node, see:
|
685
|
-
|
686
|
-
* [API documentation](https://cloud.google.com/tpu/docs/reference/rest/v1/projects.locations.nodes)
|
687
|
-
* How-to Guides
|
688
|
-
* [Official Documentation](https://cloud.google.com/tpu/docs/)
|
689
|
-
|
690
|
-
## Example Usage
|
691
|
-
|
692
|
-
### Tpu Node Basic
|
693
|
-
|
694
|
-
```python
|
695
|
-
import pulumi
|
696
|
-
import pulumi_gcp as gcp
|
697
|
-
|
698
|
-
available = gcp.tpu.get_tensorflow_versions()
|
699
|
-
tpu = gcp.tpu.Node("tpu",
|
700
|
-
name="test-tpu",
|
701
|
-
zone="us-central1-b",
|
702
|
-
accelerator_type="v3-8",
|
703
|
-
tensorflow_version=available.versions[0],
|
704
|
-
cidr_block="10.2.0.0/29")
|
705
|
-
```
|
706
|
-
### Tpu Node Full
|
707
|
-
|
708
|
-
```python
|
709
|
-
import pulumi
|
710
|
-
import pulumi_gcp as gcp
|
711
|
-
|
712
|
-
available = gcp.tpu.get_tensorflow_versions()
|
713
|
-
network = gcp.compute.Network("network", name="tpu-node-network")
|
714
|
-
service_range = gcp.compute.GlobalAddress("service_range",
|
715
|
-
name="my-global-address",
|
716
|
-
purpose="VPC_PEERING",
|
717
|
-
address_type="INTERNAL",
|
718
|
-
prefix_length=16,
|
719
|
-
network=network.id)
|
720
|
-
private_service_connection = gcp.servicenetworking.Connection("private_service_connection",
|
721
|
-
network=network.id,
|
722
|
-
service="servicenetworking.googleapis.com",
|
723
|
-
reserved_peering_ranges=[service_range.name])
|
724
|
-
tpu = gcp.tpu.Node("tpu",
|
725
|
-
name="test-tpu",
|
726
|
-
zone="us-central1-b",
|
727
|
-
accelerator_type="v3-8",
|
728
|
-
tensorflow_version=available.versions[0],
|
729
|
-
description="Google Provider test TPU",
|
730
|
-
use_service_networking=True,
|
731
|
-
network=private_service_connection.network,
|
732
|
-
labels={
|
733
|
-
"foo": "bar",
|
734
|
-
},
|
735
|
-
scheduling_config={
|
736
|
-
"preemptible": True,
|
737
|
-
})
|
738
|
-
```
|
739
|
-
|
740
|
-
## Import
|
741
|
-
|
742
|
-
Node can be imported using any of these accepted formats:
|
743
|
-
|
744
|
-
* `projects/{{project}}/locations/{{zone}}/nodes/{{name}}`
|
745
|
-
|
746
|
-
* `{{project}}/{{zone}}/{{name}}`
|
747
|
-
|
748
|
-
* `{{zone}}/{{name}}`
|
749
|
-
|
750
|
-
* `{{name}}`
|
751
|
-
|
752
|
-
When using the `pulumi import` command, Node can be imported using one of the formats above. For example:
|
753
|
-
|
754
|
-
```sh
|
755
|
-
$ pulumi import gcp:tpu/node:Node default projects/{{project}}/locations/{{zone}}/nodes/{{name}}
|
756
|
-
```
|
757
|
-
|
758
|
-
```sh
|
759
|
-
$ pulumi import gcp:tpu/node:Node default {{project}}/{{zone}}/{{name}}
|
760
|
-
```
|
761
|
-
|
762
|
-
```sh
|
763
|
-
$ pulumi import gcp:tpu/node:Node default {{zone}}/{{name}}
|
764
|
-
```
|
765
|
-
|
766
|
-
```sh
|
767
|
-
$ pulumi import gcp:tpu/node:Node default {{name}}
|
768
|
-
```
|
769
|
-
|
770
|
-
:param str resource_name: The name of the resource.
|
771
|
-
:param NodeArgs args: The arguments to use to populate this resource's properties.
|
772
|
-
:param pulumi.ResourceOptions opts: Options for the resource.
|
773
|
-
"""
|
774
|
-
...
|
775
|
-
def __init__(__self__, resource_name: str, *args, **kwargs):
|
776
|
-
resource_args, opts = _utilities.get_resource_args_opts(NodeArgs, pulumi.ResourceOptions, *args, **kwargs)
|
777
|
-
if resource_args is not None:
|
778
|
-
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
779
|
-
else:
|
780
|
-
__self__._internal_init(resource_name, *args, **kwargs)
|
781
|
-
|
782
|
-
def _internal_init(__self__,
|
783
|
-
resource_name: str,
|
784
|
-
opts: Optional[pulumi.ResourceOptions] = None,
|
785
|
-
accelerator_type: Optional[pulumi.Input[_builtins.str]] = None,
|
786
|
-
cidr_block: Optional[pulumi.Input[_builtins.str]] = None,
|
787
|
-
description: Optional[pulumi.Input[_builtins.str]] = None,
|
788
|
-
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
789
|
-
name: Optional[pulumi.Input[_builtins.str]] = None,
|
790
|
-
network: Optional[pulumi.Input[_builtins.str]] = None,
|
791
|
-
project: Optional[pulumi.Input[_builtins.str]] = None,
|
792
|
-
scheduling_config: Optional[pulumi.Input[Union['NodeSchedulingConfigArgs', 'NodeSchedulingConfigArgsDict']]] = None,
|
793
|
-
tensorflow_version: Optional[pulumi.Input[_builtins.str]] = None,
|
794
|
-
use_service_networking: Optional[pulumi.Input[_builtins.bool]] = None,
|
795
|
-
zone: Optional[pulumi.Input[_builtins.str]] = None,
|
796
|
-
__props__=None):
|
797
|
-
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
798
|
-
if not isinstance(opts, pulumi.ResourceOptions):
|
799
|
-
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
800
|
-
if opts.id is None:
|
801
|
-
if __props__ is not None:
|
802
|
-
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
803
|
-
__props__ = NodeArgs.__new__(NodeArgs)
|
804
|
-
|
805
|
-
if accelerator_type is None and not opts.urn:
|
806
|
-
raise TypeError("Missing required property 'accelerator_type'")
|
807
|
-
__props__.__dict__["accelerator_type"] = accelerator_type
|
808
|
-
__props__.__dict__["cidr_block"] = cidr_block
|
809
|
-
__props__.__dict__["description"] = description
|
810
|
-
__props__.__dict__["labels"] = labels
|
811
|
-
__props__.__dict__["name"] = name
|
812
|
-
__props__.__dict__["network"] = network
|
813
|
-
__props__.__dict__["project"] = project
|
814
|
-
__props__.__dict__["scheduling_config"] = scheduling_config
|
815
|
-
if tensorflow_version is None and not opts.urn:
|
816
|
-
raise TypeError("Missing required property 'tensorflow_version'")
|
817
|
-
__props__.__dict__["tensorflow_version"] = tensorflow_version
|
818
|
-
__props__.__dict__["use_service_networking"] = use_service_networking
|
819
|
-
__props__.__dict__["zone"] = zone
|
820
|
-
__props__.__dict__["effective_labels"] = None
|
821
|
-
__props__.__dict__["network_endpoints"] = None
|
822
|
-
__props__.__dict__["pulumi_labels"] = None
|
823
|
-
__props__.__dict__["service_account"] = None
|
824
|
-
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
|
825
|
-
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
826
|
-
super(Node, __self__).__init__(
|
827
|
-
'gcp:tpu/node:Node',
|
828
|
-
resource_name,
|
829
|
-
__props__,
|
830
|
-
opts)
|
831
|
-
|
832
|
-
@staticmethod
|
833
|
-
def get(resource_name: str,
|
834
|
-
id: pulumi.Input[str],
|
835
|
-
opts: Optional[pulumi.ResourceOptions] = None,
|
836
|
-
accelerator_type: Optional[pulumi.Input[_builtins.str]] = None,
|
837
|
-
cidr_block: Optional[pulumi.Input[_builtins.str]] = None,
|
838
|
-
description: Optional[pulumi.Input[_builtins.str]] = None,
|
839
|
-
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
840
|
-
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
841
|
-
name: Optional[pulumi.Input[_builtins.str]] = None,
|
842
|
-
network: Optional[pulumi.Input[_builtins.str]] = None,
|
843
|
-
network_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeNetworkEndpointArgs', 'NodeNetworkEndpointArgsDict']]]]] = None,
|
844
|
-
project: Optional[pulumi.Input[_builtins.str]] = None,
|
845
|
-
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
846
|
-
scheduling_config: Optional[pulumi.Input[Union['NodeSchedulingConfigArgs', 'NodeSchedulingConfigArgsDict']]] = None,
|
847
|
-
service_account: Optional[pulumi.Input[_builtins.str]] = None,
|
848
|
-
tensorflow_version: Optional[pulumi.Input[_builtins.str]] = None,
|
849
|
-
use_service_networking: Optional[pulumi.Input[_builtins.bool]] = None,
|
850
|
-
zone: Optional[pulumi.Input[_builtins.str]] = None) -> 'Node':
|
851
|
-
"""
|
852
|
-
Get an existing Node resource's state with the given name, id, and optional extra
|
853
|
-
properties used to qualify the lookup.
|
854
|
-
|
855
|
-
:param str resource_name: The unique name of the resulting resource.
|
856
|
-
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
857
|
-
:param pulumi.ResourceOptions opts: Options for the resource.
|
858
|
-
:param pulumi.Input[_builtins.str] accelerator_type: The type of hardware accelerators associated with this node.
|
859
|
-
:param pulumi.Input[_builtins.str] cidr_block: The CIDR block that the TPU node will use when selecting an IP
|
860
|
-
address. This CIDR block must be a /29 block; the Compute Engine
|
861
|
-
networks API forbids a smaller block, and using a larger block would
|
862
|
-
be wasteful (a node can only consume one IP address).
|
863
|
-
Errors will occur if the CIDR block has already been used for a
|
864
|
-
currently existing TPU node, the CIDR block conflicts with any
|
865
|
-
subnetworks in the user's provided network, or the provided network
|
866
|
-
is peered with another network that is using that CIDR block.
|
867
|
-
:param pulumi.Input[_builtins.str] description: The user-supplied description of the TPU. Maximum of 512 characters.
|
868
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
869
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Resource labels to represent user provided metadata.
|
870
|
-
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
871
|
-
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
872
|
-
:param pulumi.Input[_builtins.str] name: The immutable name of the TPU.
|
873
|
-
:param pulumi.Input[_builtins.str] network: The name of a network to peer the TPU node to. It must be a
|
874
|
-
preexisting Compute Engine network inside of the project on which
|
875
|
-
this API has been activated. If none is provided, "default" will be
|
876
|
-
used.
|
877
|
-
:param pulumi.Input[Sequence[pulumi.Input[Union['NodeNetworkEndpointArgs', 'NodeNetworkEndpointArgsDict']]]] network_endpoints: The network endpoints where TPU workers can be accessed and sent work.
|
878
|
-
It is recommended that Tensorflow clients of the node first reach out
|
879
|
-
to the first (index 0) entry.
|
880
|
-
Structure is documented below.
|
881
|
-
:param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
|
882
|
-
If it is not provided, the provider project is used.
|
883
|
-
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
|
884
|
-
and default labels configured on the provider.
|
885
|
-
:param pulumi.Input[Union['NodeSchedulingConfigArgs', 'NodeSchedulingConfigArgsDict']] scheduling_config: Sets the scheduling options for this TPU instance.
|
886
|
-
Structure is documented below.
|
887
|
-
:param pulumi.Input[_builtins.str] service_account: The service account used to run the tensor flow services within the
|
888
|
-
node. To share resources, including Google Cloud Storage data, with
|
889
|
-
the Tensorflow job running in the Node, this account must have
|
890
|
-
permissions to that data.
|
891
|
-
:param pulumi.Input[_builtins.str] tensorflow_version: The version of Tensorflow running in the Node.
|
892
|
-
:param pulumi.Input[_builtins.bool] use_service_networking: Whether the VPC peering for the node is set up through Service Networking API.
|
893
|
-
The VPC Peering should be set up before provisioning the node. If this field is set,
|
894
|
-
cidr_block field should not be specified. If the network that you want to peer the
|
895
|
-
TPU Node to is a Shared VPC network, the node must be created with this this field enabled.
|
896
|
-
:param pulumi.Input[_builtins.str] zone: The GCP location for the TPU. If it is not provided, the provider zone is used.
|
897
|
-
"""
|
898
|
-
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
899
|
-
|
900
|
-
__props__ = _NodeState.__new__(_NodeState)
|
901
|
-
|
902
|
-
__props__.__dict__["accelerator_type"] = accelerator_type
|
903
|
-
__props__.__dict__["cidr_block"] = cidr_block
|
904
|
-
__props__.__dict__["description"] = description
|
905
|
-
__props__.__dict__["effective_labels"] = effective_labels
|
906
|
-
__props__.__dict__["labels"] = labels
|
907
|
-
__props__.__dict__["name"] = name
|
908
|
-
__props__.__dict__["network"] = network
|
909
|
-
__props__.__dict__["network_endpoints"] = network_endpoints
|
910
|
-
__props__.__dict__["project"] = project
|
911
|
-
__props__.__dict__["pulumi_labels"] = pulumi_labels
|
912
|
-
__props__.__dict__["scheduling_config"] = scheduling_config
|
913
|
-
__props__.__dict__["service_account"] = service_account
|
914
|
-
__props__.__dict__["tensorflow_version"] = tensorflow_version
|
915
|
-
__props__.__dict__["use_service_networking"] = use_service_networking
|
916
|
-
__props__.__dict__["zone"] = zone
|
917
|
-
return Node(resource_name, opts=opts, __props__=__props__)
|
918
|
-
|
919
|
-
@_builtins.property
|
920
|
-
@pulumi.getter(name="acceleratorType")
|
921
|
-
def accelerator_type(self) -> pulumi.Output[_builtins.str]:
|
922
|
-
"""
|
923
|
-
The type of hardware accelerators associated with this node.
|
924
|
-
"""
|
925
|
-
return pulumi.get(self, "accelerator_type")
|
926
|
-
|
927
|
-
@_builtins.property
|
928
|
-
@pulumi.getter(name="cidrBlock")
|
929
|
-
def cidr_block(self) -> pulumi.Output[_builtins.str]:
|
930
|
-
"""
|
931
|
-
The CIDR block that the TPU node will use when selecting an IP
|
932
|
-
address. This CIDR block must be a /29 block; the Compute Engine
|
933
|
-
networks API forbids a smaller block, and using a larger block would
|
934
|
-
be wasteful (a node can only consume one IP address).
|
935
|
-
Errors will occur if the CIDR block has already been used for a
|
936
|
-
currently existing TPU node, the CIDR block conflicts with any
|
937
|
-
subnetworks in the user's provided network, or the provided network
|
938
|
-
is peered with another network that is using that CIDR block.
|
939
|
-
"""
|
940
|
-
return pulumi.get(self, "cidr_block")
|
941
|
-
|
942
|
-
@_builtins.property
|
943
|
-
@pulumi.getter
|
944
|
-
def description(self) -> pulumi.Output[Optional[_builtins.str]]:
|
945
|
-
"""
|
946
|
-
The user-supplied description of the TPU. Maximum of 512 characters.
|
947
|
-
"""
|
948
|
-
return pulumi.get(self, "description")
|
949
|
-
|
950
|
-
@_builtins.property
|
951
|
-
@pulumi.getter(name="effectiveLabels")
|
952
|
-
def effective_labels(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
|
953
|
-
"""
|
954
|
-
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
955
|
-
"""
|
956
|
-
return pulumi.get(self, "effective_labels")
|
957
|
-
|
958
|
-
@_builtins.property
|
959
|
-
@pulumi.getter
|
960
|
-
def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
|
961
|
-
"""
|
962
|
-
Resource labels to represent user provided metadata.
|
963
|
-
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
964
|
-
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
965
|
-
"""
|
966
|
-
return pulumi.get(self, "labels")
|
967
|
-
|
968
|
-
@_builtins.property
|
969
|
-
@pulumi.getter
|
970
|
-
def name(self) -> pulumi.Output[_builtins.str]:
|
971
|
-
"""
|
972
|
-
The immutable name of the TPU.
|
973
|
-
"""
|
974
|
-
return pulumi.get(self, "name")
|
975
|
-
|
976
|
-
@_builtins.property
|
977
|
-
@pulumi.getter
|
978
|
-
def network(self) -> pulumi.Output[_builtins.str]:
|
979
|
-
"""
|
980
|
-
The name of a network to peer the TPU node to. It must be a
|
981
|
-
preexisting Compute Engine network inside of the project on which
|
982
|
-
this API has been activated. If none is provided, "default" will be
|
983
|
-
used.
|
984
|
-
"""
|
985
|
-
return pulumi.get(self, "network")
|
986
|
-
|
987
|
-
@_builtins.property
|
988
|
-
@pulumi.getter(name="networkEndpoints")
|
989
|
-
def network_endpoints(self) -> pulumi.Output[Sequence['outputs.NodeNetworkEndpoint']]:
|
990
|
-
"""
|
991
|
-
The network endpoints where TPU workers can be accessed and sent work.
|
992
|
-
It is recommended that Tensorflow clients of the node first reach out
|
993
|
-
to the first (index 0) entry.
|
994
|
-
Structure is documented below.
|
995
|
-
"""
|
996
|
-
return pulumi.get(self, "network_endpoints")
|
997
|
-
|
998
|
-
@_builtins.property
|
999
|
-
@pulumi.getter
|
1000
|
-
def project(self) -> pulumi.Output[_builtins.str]:
|
1001
|
-
"""
|
1002
|
-
The ID of the project in which the resource belongs.
|
1003
|
-
If it is not provided, the provider project is used.
|
1004
|
-
"""
|
1005
|
-
return pulumi.get(self, "project")
|
1006
|
-
|
1007
|
-
@_builtins.property
|
1008
|
-
@pulumi.getter(name="pulumiLabels")
|
1009
|
-
def pulumi_labels(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
|
1010
|
-
"""
|
1011
|
-
The combination of labels configured directly on the resource
|
1012
|
-
and default labels configured on the provider.
|
1013
|
-
"""
|
1014
|
-
return pulumi.get(self, "pulumi_labels")
|
1015
|
-
|
1016
|
-
@_builtins.property
|
1017
|
-
@pulumi.getter(name="schedulingConfig")
|
1018
|
-
def scheduling_config(self) -> pulumi.Output[Optional['outputs.NodeSchedulingConfig']]:
|
1019
|
-
"""
|
1020
|
-
Sets the scheduling options for this TPU instance.
|
1021
|
-
Structure is documented below.
|
1022
|
-
"""
|
1023
|
-
return pulumi.get(self, "scheduling_config")
|
1024
|
-
|
1025
|
-
@_builtins.property
|
1026
|
-
@pulumi.getter(name="serviceAccount")
|
1027
|
-
def service_account(self) -> pulumi.Output[_builtins.str]:
|
1028
|
-
"""
|
1029
|
-
The service account used to run the tensor flow services within the
|
1030
|
-
node. To share resources, including Google Cloud Storage data, with
|
1031
|
-
the Tensorflow job running in the Node, this account must have
|
1032
|
-
permissions to that data.
|
1033
|
-
"""
|
1034
|
-
return pulumi.get(self, "service_account")
|
1035
|
-
|
1036
|
-
@_builtins.property
|
1037
|
-
@pulumi.getter(name="tensorflowVersion")
|
1038
|
-
def tensorflow_version(self) -> pulumi.Output[_builtins.str]:
|
1039
|
-
"""
|
1040
|
-
The version of Tensorflow running in the Node.
|
1041
|
-
"""
|
1042
|
-
return pulumi.get(self, "tensorflow_version")
|
1043
|
-
|
1044
|
-
@_builtins.property
|
1045
|
-
@pulumi.getter(name="useServiceNetworking")
|
1046
|
-
def use_service_networking(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
1047
|
-
"""
|
1048
|
-
Whether the VPC peering for the node is set up through Service Networking API.
|
1049
|
-
The VPC Peering should be set up before provisioning the node. If this field is set,
|
1050
|
-
cidr_block field should not be specified. If the network that you want to peer the
|
1051
|
-
TPU Node to is a Shared VPC network, the node must be created with this this field enabled.
|
1052
|
-
"""
|
1053
|
-
return pulumi.get(self, "use_service_networking")
|
1054
|
-
|
1055
|
-
@_builtins.property
|
1056
|
-
@pulumi.getter
|
1057
|
-
def zone(self) -> pulumi.Output[_builtins.str]:
|
1058
|
-
"""
|
1059
|
-
The GCP location for the TPU. If it is not provided, the provider zone is used.
|
1060
|
-
"""
|
1061
|
-
return pulumi.get(self, "zone")
|
1062
|
-
|