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.
Files changed (149) hide show
  1. pulumi_gcp/__init__.py +35 -48
  2. pulumi_gcp/alloydb/backup.py +8 -4
  3. pulumi_gcp/alloydb/cluster.py +56 -10
  4. pulumi_gcp/alloydb/get_cluster.py +12 -1
  5. pulumi_gcp/alloydb/instance.py +10 -4
  6. pulumi_gcp/alloydb/user.py +8 -4
  7. pulumi_gcp/apigee/_inputs.py +151 -108
  8. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +52 -40
  9. pulumi_gcp/apigee/outputs.py +92 -88
  10. pulumi_gcp/artifactregistry/__init__.py +1 -0
  11. pulumi_gcp/artifactregistry/_inputs.py +0 -12
  12. pulumi_gcp/artifactregistry/get_npm_package.py +251 -0
  13. pulumi_gcp/artifactregistry/outputs.py +8 -16
  14. pulumi_gcp/beyondcorp/__init__.py +0 -5
  15. pulumi_gcp/beyondcorp/_inputs.py +0 -312
  16. pulumi_gcp/beyondcorp/outputs.py +0 -200
  17. pulumi_gcp/bigquery/_inputs.py +114 -4
  18. pulumi_gcp/bigquery/app_profile.py +52 -19
  19. pulumi_gcp/bigquery/dataset_access.py +8 -4
  20. pulumi_gcp/bigquery/outputs.py +75 -5
  21. pulumi_gcp/bigquery/table.py +21 -7
  22. pulumi_gcp/bigtable/app_profile.py +50 -15
  23. pulumi_gcp/bigtable/get_table_iam_policy.py +16 -18
  24. pulumi_gcp/bigtable/table.py +42 -42
  25. pulumi_gcp/bigtable/table_iam_binding.py +43 -43
  26. pulumi_gcp/bigtable/table_iam_member.py +43 -43
  27. pulumi_gcp/bigtable/table_iam_policy.py +43 -43
  28. pulumi_gcp/billing/_inputs.py +0 -6
  29. pulumi_gcp/billing/outputs.py +0 -4
  30. pulumi_gcp/certificatemanager/__init__.py +1 -0
  31. pulumi_gcp/certificatemanager/get_dns_authorization.py +229 -0
  32. pulumi_gcp/certificatemanager/outputs.py +41 -0
  33. pulumi_gcp/cloudbuild/_inputs.py +289 -45
  34. pulumi_gcp/cloudbuild/bitbucket_server_config.py +2 -6
  35. pulumi_gcp/cloudbuild/get_trigger.py +12 -1
  36. pulumi_gcp/cloudbuild/outputs.py +366 -30
  37. pulumi_gcp/cloudbuild/trigger.py +156 -0
  38. pulumi_gcp/cloudbuild/worker_pool.py +23 -34
  39. pulumi_gcp/cloudfunctions/function.py +8 -4
  40. pulumi_gcp/cloudfunctionsv2/_inputs.py +23 -21
  41. pulumi_gcp/cloudfunctionsv2/outputs.py +17 -16
  42. pulumi_gcp/cloudrunv2/_inputs.py +23 -26
  43. pulumi_gcp/cloudrunv2/outputs.py +28 -30
  44. pulumi_gcp/cloudrunv2/service.py +18 -12
  45. pulumi_gcp/cloudtasks/queue.py +98 -2
  46. pulumi_gcp/colab/_inputs.py +1 -114
  47. pulumi_gcp/colab/outputs.py +1 -106
  48. pulumi_gcp/composer/environment.py +49 -28
  49. pulumi_gcp/compute/_inputs.py +80 -0
  50. pulumi_gcp/compute/backend_bucket.py +54 -0
  51. pulumi_gcp/compute/backend_service.py +54 -0
  52. pulumi_gcp/compute/get_backend_bucket.py +12 -1
  53. pulumi_gcp/compute/get_backend_service.py +12 -1
  54. pulumi_gcp/compute/instance_from_machine_image.py +110 -75
  55. pulumi_gcp/compute/instance_from_template.py +110 -75
  56. pulumi_gcp/compute/instance_group_manager.py +14 -7
  57. pulumi_gcp/compute/instance_template.py +14 -7
  58. pulumi_gcp/compute/interconnect.py +8 -4
  59. pulumi_gcp/compute/network_peering_routes_config.py +0 -100
  60. pulumi_gcp/compute/organization_security_policy.py +83 -51
  61. pulumi_gcp/compute/outputs.py +128 -0
  62. pulumi_gcp/compute/packet_mirroring.py +6 -0
  63. pulumi_gcp/compute/region_instance_group_manager.py +14 -7
  64. pulumi_gcp/compute/subnetwork.py +0 -98
  65. pulumi_gcp/config/__init__.pyi +2 -2
  66. pulumi_gcp/config/vars.py +4 -4
  67. pulumi_gcp/container/_inputs.py +20 -0
  68. pulumi_gcp/container/aws_cluster.py +42 -28
  69. pulumi_gcp/container/aws_node_pool.py +42 -28
  70. pulumi_gcp/container/azure_cluster.py +70 -35
  71. pulumi_gcp/container/azure_node_pool.py +42 -28
  72. pulumi_gcp/container/outputs.py +25 -0
  73. pulumi_gcp/databasemigrationservice/connection_profile.py +4 -2
  74. pulumi_gcp/databasemigrationservice/migration_job.py +4 -2
  75. pulumi_gcp/dataplex/asset.py +21 -28
  76. pulumi_gcp/dataplex/zone.py +21 -28
  77. pulumi_gcp/dataproc/cluster.py +14 -21
  78. pulumi_gcp/dataproc/workflow_template.py +105 -42
  79. pulumi_gcp/diagflow/_inputs.py +152 -0
  80. pulumi_gcp/diagflow/cx_agent.py +425 -0
  81. pulumi_gcp/diagflow/outputs.py +143 -0
  82. pulumi_gcp/firebase/app_check_play_integrity_config.py +4 -8
  83. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +2 -4
  84. pulumi_gcp/firebase/app_check_service_config.py +6 -12
  85. pulumi_gcp/firebase/app_hosting_backend.py +4 -8
  86. pulumi_gcp/firebase/app_hosting_build.py +4 -8
  87. pulumi_gcp/firebase/app_hosting_traffic.py +6 -12
  88. pulumi_gcp/firebase/data_connect_service.py +4 -8
  89. pulumi_gcp/firebase/database_instance.py +4 -8
  90. pulumi_gcp/gkehub/_inputs.py +0 -60
  91. pulumi_gcp/gkehub/get_membership.py +1 -12
  92. pulumi_gcp/gkehub/membership.py +0 -70
  93. pulumi_gcp/gkehub/outputs.py +0 -36
  94. pulumi_gcp/iap/__init__.py +4 -0
  95. pulumi_gcp/iap/_inputs.py +130 -0
  96. pulumi_gcp/iap/get_web_region_forwarding_rule_service_iam_policy.py +182 -0
  97. pulumi_gcp/iap/outputs.py +76 -0
  98. pulumi_gcp/{beyondcorp/application_iam_binding.py → iap/web_region_forwarding_rule_service_iam_binding.py} +321 -314
  99. pulumi_gcp/{beyondcorp/application_iam_member.py → iap/web_region_forwarding_rule_service_iam_member.py} +321 -314
  100. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_policy.py +910 -0
  101. pulumi_gcp/kms/autokey_config.py +0 -2
  102. pulumi_gcp/kms/key_handle.py +0 -2
  103. pulumi_gcp/logging/billing_account_bucket_config.py +21 -7
  104. pulumi_gcp/logging/folder_bucket_config.py +21 -7
  105. pulumi_gcp/logging/organization_bucket_config.py +21 -7
  106. pulumi_gcp/memorystore/get_instance.py +1 -12
  107. pulumi_gcp/memorystore/instance.py +0 -70
  108. pulumi_gcp/monitoring/dashboard.py +14 -7
  109. pulumi_gcp/networkservices/lb_traffic_extension.py +24 -23
  110. pulumi_gcp/notebooks/__init__.py +0 -1
  111. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +3 -3
  112. pulumi_gcp/organizations/project.py +21 -7
  113. pulumi_gcp/projects/service.py +2 -4
  114. pulumi_gcp/provider.py +20 -20
  115. pulumi_gcp/pulumi-plugin.json +1 -1
  116. pulumi_gcp/redis/cluster.py +0 -70
  117. pulumi_gcp/redis/get_cluster.py +1 -12
  118. pulumi_gcp/saasruntime/__init__.py +11 -0
  119. pulumi_gcp/saasruntime/_inputs.py +55 -0
  120. pulumi_gcp/saasruntime/outputs.py +39 -0
  121. pulumi_gcp/saasruntime/saa_s.py +815 -0
  122. pulumi_gcp/securesourcemanager/_inputs.py +20 -19
  123. pulumi_gcp/securesourcemanager/outputs.py +15 -14
  124. pulumi_gcp/serviceaccount/get_account_key.py +1 -21
  125. pulumi_gcp/sql/database_instance.py +61 -7
  126. pulumi_gcp/sql/get_database_instance.py +12 -1
  127. pulumi_gcp/sql/outputs.py +11 -0
  128. pulumi_gcp/sql/user.py +61 -0
  129. pulumi_gcp/storage/_inputs.py +7 -7
  130. pulumi_gcp/storage/bucket.py +14 -7
  131. pulumi_gcp/storage/outputs.py +7 -7
  132. pulumi_gcp/tpu/__init__.py +0 -2
  133. pulumi_gcp/tpu/_inputs.py +0 -93
  134. pulumi_gcp/tpu/outputs.py +0 -72
  135. pulumi_gcp/vertex/_inputs.py +8 -9
  136. pulumi_gcp/vertex/ai_endpoint.py +2 -4
  137. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +0 -2
  138. pulumi_gcp/vertex/ai_index.py +24 -23
  139. pulumi_gcp/vertex/outputs.py +7 -8
  140. {pulumi_gcp-8.42.0a1756968228.dist-info → pulumi_gcp-9.0.0a1.dist-info}/METADATA +1 -1
  141. {pulumi_gcp-8.42.0a1756968228.dist-info → pulumi_gcp-9.0.0a1.dist-info}/RECORD +143 -141
  142. pulumi_gcp/beyondcorp/application.py +0 -746
  143. pulumi_gcp/beyondcorp/application_iam_policy.py +0 -903
  144. pulumi_gcp/beyondcorp/get_application_iam_policy.py +0 -182
  145. pulumi_gcp/notebooks/location.py +0 -285
  146. pulumi_gcp/tpu/get_tensorflow_versions.py +0 -184
  147. pulumi_gcp/tpu/node.py +0 -1062
  148. {pulumi_gcp-8.42.0a1756968228.dist-info → pulumi_gcp-9.0.0a1.dist-info}/WHEEL +0 -0
  149. {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
-