google-cloud-tpu-v1 1.0.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +31 -21
- data/lib/google/cloud/tpu/v1/cloud_tpu_pb.rb +1 -1
- data/lib/google/cloud/tpu/v1/tpu/client.rb +43 -12
- data/lib/google/cloud/tpu/v1/tpu/operations.rb +19 -15
- data/lib/google/cloud/tpu/v1/version.rb +1 -1
- data/proto_docs/google/api/client.rb +39 -0
- data/proto_docs/google/cloud/tpu/v1/cloud_tpu.rb +3 -0
- data/proto_docs/google/longrunning/operations.rb +23 -14
- metadata +6 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bae9ee5338c8bb5ea68d325b0a889df760ee0b81aa77630561940f44b8067062
|
4
|
+
data.tar.gz: 2f66512063bfbe4d338adeb5bd004d29d245948f20ce5a404cde0d543d8951ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a780a41f80ff9f7e158d4c1854001df8acb828cdf9ea07ed9a8d865cb2aedb2ccd541c2a798706cb969ef6bae2d641cfddee48c28eb9f1edb20d72048b8c653
|
7
|
+
data.tar.gz: 1517a6e07f2da20e1215e7a7bc329870a6180f702405fb1cc746e4ea63f9aabcc102c06d8d03b0d33f0917c286cf01b7c53f5d07627f490c4b2a316d09f887bd
|
data/README.md
CHANGED
@@ -43,40 +43,50 @@ for class and method documentation.
|
|
43
43
|
See also the [Product Documentation](https://cloud.google.com/tpu/)
|
44
44
|
for general usage information.
|
45
45
|
|
46
|
-
##
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
46
|
+
## Debug Logging
|
47
|
+
|
48
|
+
This library comes with opt-in Debug Logging that can help you troubleshoot
|
49
|
+
your application's integration with the API. When logging is activated, key
|
50
|
+
events such as requests and responses, along with data payloads and metadata
|
51
|
+
such as headers and client configuration, are logged to the standard error
|
52
|
+
stream.
|
53
|
+
|
54
|
+
**WARNING:** Client Library Debug Logging includes your data payloads in
|
55
|
+
plaintext, which could include sensitive data such as PII for yourself or your
|
56
|
+
customers, private keys, or other security data that could be compromising if
|
57
|
+
leaked. Always practice good data hygiene with your application logs, and follow
|
58
|
+
the principle of least access. Google also recommends that Client Library Debug
|
59
|
+
Logging be enabled only temporarily during active debugging, and not used
|
60
|
+
permanently in production.
|
61
|
+
|
62
|
+
To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
|
63
|
+
to the value `all`. Alternatively, you can set the value to a comma-delimited
|
64
|
+
list of client library gem names. This will select the default logging behavior,
|
65
|
+
which writes logs to the standard error stream. On a local workstation, this may
|
66
|
+
result in logs appearing on the console. When running on a Google Cloud hosting
|
67
|
+
service such as [Google Cloud Run](https://cloud.google.com/run), this generally
|
68
|
+
results in logs appearing alongside your application logs in the
|
69
|
+
[Google Cloud Logging](https://cloud.google.com/logging/) service.
|
70
|
+
|
71
|
+
You can customize logging by modifying the `logger` configuration when
|
72
|
+
constructing a client object. For example:
|
55
73
|
|
56
74
|
```ruby
|
75
|
+
require "google/cloud/tpu/v1"
|
57
76
|
require "logger"
|
58
77
|
|
59
|
-
|
60
|
-
|
61
|
-
def logger
|
62
|
-
LOGGER
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
# Define a gRPC module-level logger method before grpc/logconfig.rb loads.
|
67
|
-
module GRPC
|
68
|
-
extend MyLogger
|
78
|
+
client = ::Google::Cloud::Tpu::V1::Tpu::Client.new do |config|
|
79
|
+
config.logger = Logger.new "my-app.log"
|
69
80
|
end
|
70
81
|
```
|
71
82
|
|
72
|
-
|
73
83
|
## Google Cloud Samples
|
74
84
|
|
75
85
|
To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
|
76
86
|
|
77
87
|
## Supported Ruby Versions
|
78
88
|
|
79
|
-
This library is supported on Ruby
|
89
|
+
This library is supported on Ruby 3.0+.
|
80
90
|
|
81
91
|
Google provides official support for Ruby versions that are actively supported
|
82
92
|
by Ruby Core—that is, Ruby versions that are either in normal maintenance or
|
@@ -12,7 +12,7 @@ require 'google/longrunning/operations_pb'
|
|
12
12
|
require 'google/protobuf/timestamp_pb'
|
13
13
|
|
14
14
|
|
15
|
-
descriptor_data = "\n#google/cloud/tpu/v1/cloud_tpu.proto\x12\x13google.cloud.tpu.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"9\n\x10SchedulingConfig\x12\x13\n\x0bpreemptible\x18\x01 \x01(\x08\x12\x10\n\x08reserved\x18\x02 \x01(\x08\"3\n\x0fNetworkEndpoint\x12\x12\n\nip_address\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\
|
15
|
+
descriptor_data = "\n#google/cloud/tpu/v1/cloud_tpu.proto\x12\x13google.cloud.tpu.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"9\n\x10SchedulingConfig\x12\x13\n\x0bpreemptible\x18\x01 \x01(\x08\x12\x10\n\x08reserved\x18\x02 \x01(\x08\"3\n\x0fNetworkEndpoint\x12\x12\n\nip_address\x18\x01 \x01(\t\x12\x0c\n\x04port\x18\x02 \x01(\x05\"\xc1\n\n\x04Node\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x05\xe0\x41\x03\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x1d\n\x10\x61\x63\x63\x65lerator_type\x18\x05 \x01(\tB\x03\xe0\x41\x02\x12\x16\n\nip_address\x18\x08 \x01(\tB\x02\x18\x01\x12\x10\n\x04port\x18\x0e \x01(\tB\x02\x18\x01\x12\x33\n\x05state\x18\t \x01(\x0e\x32\x1f.google.cloud.tpu.v1.Node.StateB\x03\xe0\x41\x03\x12\x1f\n\x12health_description\x18\n \x01(\tB\x03\xe0\x41\x03\x12\x1f\n\x12tensorflow_version\x18\x0b \x01(\tB\x03\xe0\x41\x02\x12\x0f\n\x07network\x18\x0c \x01(\t\x12\x12\n\ncidr_block\x18\r \x01(\t\x12\x1c\n\x0fservice_account\x18\x0f \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12@\n\x11scheduling_config\x18\x11 \x01(\x0b\x32%.google.cloud.tpu.v1.SchedulingConfig\x12\x44\n\x11network_endpoints\x18\x15 \x03(\x0b\x32$.google.cloud.tpu.v1.NetworkEndpointB\x03\xe0\x41\x03\x12\x30\n\x06health\x18\x16 \x01(\x0e\x32 .google.cloud.tpu.v1.Node.Health\x12\x35\n\x06labels\x18\x18 \x03(\x0b\x32%.google.cloud.tpu.v1.Node.LabelsEntry\x12\x1e\n\x16use_service_networking\x18\x1b \x01(\x08\x12>\n\x0b\x61pi_version\x18& \x01(\x0e\x32$.google.cloud.tpu.v1.Node.ApiVersionB\x03\xe0\x41\x03\x12\x33\n\x08symptoms\x18\' \x03(\x0b\x32\x1c.google.cloud.tpu.v1.SymptomB\x03\xe0\x41\x03\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xee\x01\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02\x12\x0e\n\nRESTARTING\x10\x03\x12\r\n\tREIMAGING\x10\x04\x12\x0c\n\x08\x44\x45LETING\x10\x05\x12\r\n\tREPAIRING\x10\x06\x12\x0b\n\x07STOPPED\x10\x08\x12\x0c\n\x08STOPPING\x10\t\x12\x0c\n\x08STARTING\x10\n\x12\r\n\tPREEMPTED\x10\x0b\x12\x0e\n\nTERMINATED\x10\x0c\x12\n\n\x06HIDING\x10\r\x12\n\n\x06HIDDEN\x10\x0e\x12\x0c\n\x08UNHIDING\x10\x0f\x12\x0b\n\x07UNKNOWN\x10\x10\"\x89\x01\n\x06Health\x12\x16\n\x12HEALTH_UNSPECIFIED\x10\x00\x12\x0b\n\x07HEALTHY\x10\x01\x12\x18\n\x14\x44\x45PRECATED_UNHEALTHY\x10\x02\x12\x0b\n\x07TIMEOUT\x10\x03\x12\x18\n\x14UNHEALTHY_TENSORFLOW\x10\x04\x12\x19\n\x15UNHEALTHY_MAINTENANCE\x10\x05\"O\n\nApiVersion\x12\x1b\n\x17\x41PI_VERSION_UNSPECIFIED\x10\x00\x12\r\n\tV1_ALPHA1\x10\x01\x12\x06\n\x02V1\x10\x02\x12\r\n\tV2_ALPHA1\x10\x03:R\xea\x41O\n\x17tpu.googleapis.com/Node\x12\x34projects/{project}/locations/{location}/nodes/{node}\"j\n\x10ListNodesRequest\x12/\n\x06parent\x18\x01 \x01(\tB\x1f\xe0\x41\x02\xfa\x41\x19\x12\x17tpu.googleapis.com/Node\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"k\n\x11ListNodesResponse\x12(\n\x05nodes\x18\x01 \x03(\x0b\x32\x19.google.cloud.tpu.v1.Node\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"?\n\x0eGetNodeRequest\x12-\n\x04name\x18\x01 \x01(\tB\x1f\xe0\x41\x02\xfa\x41\x19\n\x17tpu.googleapis.com/Node\"\x83\x01\n\x11\x43reateNodeRequest\x12/\n\x06parent\x18\x01 \x01(\tB\x1f\xe0\x41\x02\xfa\x41\x19\x12\x17tpu.googleapis.com/Node\x12\x0f\n\x07node_id\x18\x02 \x01(\t\x12,\n\x04node\x18\x03 \x01(\x0b\x32\x19.google.cloud.tpu.v1.NodeB\x03\xe0\x41\x02\"B\n\x11\x44\x65leteNodeRequest\x12-\n\x04name\x18\x01 \x01(\tB\x1f\xe0\x41\x02\xfa\x41\x19\n\x17tpu.googleapis.com/Node\">\n\x12ReimageNodeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1a\n\x12tensorflow_version\x18\x02 \x01(\t\"\x1f\n\x0fStopNodeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\" \n\x10StartNodeRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xaf\x01\n\x11TensorFlowVersion\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t:{\xea\x41x\n$tpu.googleapis.com/TensorFlowVersion\x12Pprojects/{project}/locations/{location}/tensorFlowVersions/{tensor_flow_version}\"Y\n\x1bGetTensorFlowVersionRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$tpu.googleapis.com/TensorFlowVersion\"\xa6\x01\n\x1dListTensorFlowVersionsRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$tpu.googleapis.com/TensorFlowVersion\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x05 \x01(\t\x12\x10\n\x08order_by\x18\x06 \x01(\t\"\x93\x01\n\x1eListTensorFlowVersionsResponse\x12\x43\n\x13tensorflow_versions\x18\x01 \x03(\x0b\x32&.google.cloud.tpu.v1.TensorFlowVersion\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"\xa3\x01\n\x0f\x41\x63\x63\x65leratorType\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t:t\xea\x41q\n\"tpu.googleapis.com/AcceleratorType\x12Kprojects/{project}/locations/{location}/acceleratorTypes/{accelerator_type}\"U\n\x19GetAcceleratorTypeRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"tpu.googleapis.com/AcceleratorType\"\xa2\x01\n\x1bListAcceleratorTypesRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"tpu.googleapis.com/AcceleratorType\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x05 \x01(\t\x12\x10\n\x08order_by\x18\x06 \x01(\t\"\x8d\x01\n\x1cListAcceleratorTypesResponse\x12?\n\x11\x61\x63\x63\x65lerator_types\x18\x01 \x03(\x0b\x32$.google.cloud.tpu.v1.AcceleratorType\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"\xd6\x01\n\x11OperationMetadata\x12/\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06target\x18\x03 \x01(\t\x12\x0c\n\x04verb\x18\x04 \x01(\t\x12\x15\n\rstatus_detail\x18\x05 \x01(\t\x12\x18\n\x10\x63\x61ncel_requested\x18\x06 \x01(\x08\x12\x13\n\x0b\x61pi_version\x18\x07 \x01(\t\"\xc5\x02\n\x07Symptom\x12/\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x0csymptom_type\x18\x02 \x01(\x0e\x32(.google.cloud.tpu.v1.Symptom.SymptomType\x12\x0f\n\x07\x64\x65tails\x18\x03 \x01(\t\x12\x11\n\tworker_id\x18\x04 \x01(\t\"\xa4\x01\n\x0bSymptomType\x12\x1c\n\x18SYMPTOM_TYPE_UNSPECIFIED\x10\x00\x12\x0e\n\nLOW_MEMORY\x10\x01\x12\x11\n\rOUT_OF_MEMORY\x10\x02\x12\x15\n\x11\x45XECUTE_TIMED_OUT\x10\x03\x12\x13\n\x0fMESH_BUILD_FAIL\x10\x04\x12\x15\n\x11HBM_OUT_OF_MEMORY\x10\x05\x12\x11\n\rPROJECT_ABUSE\x10\x06\x32\xde\x0f\n\x03Tpu\x12\x96\x01\n\tListNodes\x12%.google.cloud.tpu.v1.ListNodesRequest\x1a&.google.cloud.tpu.v1.ListNodesResponse\":\xda\x41\x06parent\x82\xd3\xe4\x93\x02+\x12)/v1/{parent=projects/*/locations/*}/nodes\x12\x83\x01\n\x07GetNode\x12#.google.cloud.tpu.v1.GetNodeRequest\x1a\x19.google.cloud.tpu.v1.Node\"8\xda\x41\x04name\x82\xd3\xe4\x93\x02+\x12)/v1/{name=projects/*/locations/*/nodes/*}\x12\xbe\x01\n\nCreateNode\x12&.google.cloud.tpu.v1.CreateNodeRequest\x1a\x1d.google.longrunning.Operation\"i\xca\x41\x19\n\x04Node\x12\x11OperationMetadata\xda\x41\x13parent,node,node_id\x82\xd3\xe4\x93\x02\x31\")/v1/{parent=projects/*/locations/*}/nodes:\x04node\x12\xa9\x01\n\nDeleteNode\x12&.google.cloud.tpu.v1.DeleteNodeRequest\x1a\x1d.google.longrunning.Operation\"T\xca\x41\x19\n\x04Node\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02+*)/v1/{name=projects/*/locations/*/nodes/*}\x12\xaf\x01\n\x0bReimageNode\x12\'.google.cloud.tpu.v1.ReimageNodeRequest\x1a\x1d.google.longrunning.Operation\"X\xca\x41\x19\n\x04Node\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02\x36\"1/v1/{name=projects/*/locations/*/nodes/*}:reimage:\x01*\x12\xa6\x01\n\x08StopNode\x12$.google.cloud.tpu.v1.StopNodeRequest\x1a\x1d.google.longrunning.Operation\"U\xca\x41\x19\n\x04Node\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02\x33\"./v1/{name=projects/*/locations/*/nodes/*}:stop:\x01*\x12\xa9\x01\n\tStartNode\x12%.google.cloud.tpu.v1.StartNodeRequest\x1a\x1d.google.longrunning.Operation\"V\xca\x41\x19\n\x04Node\x12\x11OperationMetadata\x82\xd3\xe4\x93\x02\x34\"//v1/{name=projects/*/locations/*/nodes/*}:start:\x01*\x12\xca\x01\n\x16ListTensorFlowVersions\x12\x32.google.cloud.tpu.v1.ListTensorFlowVersionsRequest\x1a\x33.google.cloud.tpu.v1.ListTensorFlowVersionsResponse\"G\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x38\x12\x36/v1/{parent=projects/*/locations/*}/tensorflowVersions\x12\xb7\x01\n\x14GetTensorFlowVersion\x12\x30.google.cloud.tpu.v1.GetTensorFlowVersionRequest\x1a&.google.cloud.tpu.v1.TensorFlowVersion\"E\xda\x41\x04name\x82\xd3\xe4\x93\x02\x38\x12\x36/v1/{name=projects/*/locations/*/tensorflowVersions/*}\x12\xc2\x01\n\x14ListAcceleratorTypes\x12\x30.google.cloud.tpu.v1.ListAcceleratorTypesRequest\x1a\x31.google.cloud.tpu.v1.ListAcceleratorTypesResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/locations/*}/acceleratorTypes\x12\xaf\x01\n\x12GetAcceleratorType\x12..google.cloud.tpu.v1.GetAcceleratorTypeRequest\x1a$.google.cloud.tpu.v1.AcceleratorType\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{name=projects/*/locations/*/acceleratorTypes/*}\x1a\x46\xca\x41\x12tpu.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformBU\n\x17\x63om.google.cloud.tpu.v1B\rCloudTpuProtoP\x01Z)cloud.google.com/go/tpu/apiv1/tpupb;tpupbb\x06proto3"
|
16
16
|
|
17
17
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
18
18
|
|
@@ -169,14 +169,26 @@ module Google
|
|
169
169
|
universe_domain: @config.universe_domain,
|
170
170
|
channel_args: @config.channel_args,
|
171
171
|
interceptors: @config.interceptors,
|
172
|
-
channel_pool_config: @config.channel_pool
|
172
|
+
channel_pool_config: @config.channel_pool,
|
173
|
+
logger: @config.logger
|
173
174
|
)
|
174
175
|
|
176
|
+
@tpu_stub.stub_logger&.info do |entry|
|
177
|
+
entry.set_system_name
|
178
|
+
entry.set_service
|
179
|
+
entry.message = "Created client for #{entry.service}"
|
180
|
+
entry.set_credentials_fields credentials
|
181
|
+
entry.set "customEndpoint", @config.endpoint if @config.endpoint
|
182
|
+
entry.set "defaultTimeout", @config.timeout if @config.timeout
|
183
|
+
entry.set "quotaProject", @quota_project_id if @quota_project_id
|
184
|
+
end
|
185
|
+
|
175
186
|
@location_client = Google::Cloud::Location::Locations::Client.new do |config|
|
176
187
|
config.credentials = credentials
|
177
188
|
config.quota_project = @quota_project_id
|
178
189
|
config.endpoint = @tpu_stub.endpoint
|
179
190
|
config.universe_domain = @tpu_stub.universe_domain
|
191
|
+
config.logger = @tpu_stub.logger if config.respond_to? :logger=
|
180
192
|
end
|
181
193
|
end
|
182
194
|
|
@@ -194,6 +206,15 @@ module Google
|
|
194
206
|
#
|
195
207
|
attr_reader :location_client
|
196
208
|
|
209
|
+
##
|
210
|
+
# The logger used for request/response debug logging.
|
211
|
+
#
|
212
|
+
# @return [Logger]
|
213
|
+
#
|
214
|
+
def logger
|
215
|
+
@tpu_stub.logger
|
216
|
+
end
|
217
|
+
|
197
218
|
# Service calls
|
198
219
|
|
199
220
|
##
|
@@ -285,7 +306,7 @@ module Google
|
|
285
306
|
@tpu_stub.call_rpc :list_nodes, request, options: options do |response, operation|
|
286
307
|
response = ::Gapic::PagedEnumerable.new @tpu_stub, :list_nodes, request, response, operation, options
|
287
308
|
yield response, operation if block_given?
|
288
|
-
|
309
|
+
throw :response, response
|
289
310
|
end
|
290
311
|
rescue ::GRPC::BadStatus => e
|
291
312
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -371,7 +392,6 @@ module Google
|
|
371
392
|
|
372
393
|
@tpu_stub.call_rpc :get_node, request, options: options do |response, operation|
|
373
394
|
yield response, operation if block_given?
|
374
|
-
return response
|
375
395
|
end
|
376
396
|
rescue ::GRPC::BadStatus => e
|
377
397
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -469,7 +489,7 @@ module Google
|
|
469
489
|
@tpu_stub.call_rpc :create_node, request, options: options do |response, operation|
|
470
490
|
response = ::Gapic::Operation.new response, @operations_client, options: options
|
471
491
|
yield response, operation if block_given?
|
472
|
-
|
492
|
+
throw :response, response
|
473
493
|
end
|
474
494
|
rescue ::GRPC::BadStatus => e
|
475
495
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -563,7 +583,7 @@ module Google
|
|
563
583
|
@tpu_stub.call_rpc :delete_node, request, options: options do |response, operation|
|
564
584
|
response = ::Gapic::Operation.new response, @operations_client, options: options
|
565
585
|
yield response, operation if block_given?
|
566
|
-
|
586
|
+
throw :response, response
|
567
587
|
end
|
568
588
|
rescue ::GRPC::BadStatus => e
|
569
589
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -659,7 +679,7 @@ module Google
|
|
659
679
|
@tpu_stub.call_rpc :reimage_node, request, options: options do |response, operation|
|
660
680
|
response = ::Gapic::Operation.new response, @operations_client, options: options
|
661
681
|
yield response, operation if block_given?
|
662
|
-
|
682
|
+
throw :response, response
|
663
683
|
end
|
664
684
|
rescue ::GRPC::BadStatus => e
|
665
685
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -753,7 +773,7 @@ module Google
|
|
753
773
|
@tpu_stub.call_rpc :stop_node, request, options: options do |response, operation|
|
754
774
|
response = ::Gapic::Operation.new response, @operations_client, options: options
|
755
775
|
yield response, operation if block_given?
|
756
|
-
|
776
|
+
throw :response, response
|
757
777
|
end
|
758
778
|
rescue ::GRPC::BadStatus => e
|
759
779
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -847,7 +867,7 @@ module Google
|
|
847
867
|
@tpu_stub.call_rpc :start_node, request, options: options do |response, operation|
|
848
868
|
response = ::Gapic::Operation.new response, @operations_client, options: options
|
849
869
|
yield response, operation if block_given?
|
850
|
-
|
870
|
+
throw :response, response
|
851
871
|
end
|
852
872
|
rescue ::GRPC::BadStatus => e
|
853
873
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -946,7 +966,7 @@ module Google
|
|
946
966
|
@tpu_stub.call_rpc :list_tensor_flow_versions, request, options: options do |response, operation|
|
947
967
|
response = ::Gapic::PagedEnumerable.new @tpu_stub, :list_tensor_flow_versions, request, response, operation, options
|
948
968
|
yield response, operation if block_given?
|
949
|
-
|
969
|
+
throw :response, response
|
950
970
|
end
|
951
971
|
rescue ::GRPC::BadStatus => e
|
952
972
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -1032,7 +1052,6 @@ module Google
|
|
1032
1052
|
|
1033
1053
|
@tpu_stub.call_rpc :get_tensor_flow_version, request, options: options do |response, operation|
|
1034
1054
|
yield response, operation if block_given?
|
1035
|
-
return response
|
1036
1055
|
end
|
1037
1056
|
rescue ::GRPC::BadStatus => e
|
1038
1057
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -1131,7 +1150,7 @@ module Google
|
|
1131
1150
|
@tpu_stub.call_rpc :list_accelerator_types, request, options: options do |response, operation|
|
1132
1151
|
response = ::Gapic::PagedEnumerable.new @tpu_stub, :list_accelerator_types, request, response, operation, options
|
1133
1152
|
yield response, operation if block_given?
|
1134
|
-
|
1153
|
+
throw :response, response
|
1135
1154
|
end
|
1136
1155
|
rescue ::GRPC::BadStatus => e
|
1137
1156
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -1217,7 +1236,6 @@ module Google
|
|
1217
1236
|
|
1218
1237
|
@tpu_stub.call_rpc :get_accelerator_type, request, options: options do |response, operation|
|
1219
1238
|
yield response, operation if block_given?
|
1220
|
-
return response
|
1221
1239
|
end
|
1222
1240
|
rescue ::GRPC::BadStatus => e
|
1223
1241
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -1267,6 +1285,13 @@ module Google
|
|
1267
1285
|
# * (`GRPC::Core::Channel`) a gRPC channel with included credentials
|
1268
1286
|
# * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
|
1269
1287
|
# * (`nil`) indicating no credentials
|
1288
|
+
#
|
1289
|
+
# Warning: If you accept a credential configuration (JSON file or Hash) from an
|
1290
|
+
# external source for authentication to Google Cloud, you must validate it before
|
1291
|
+
# providing it to a Google API client library. Providing an unvalidated credential
|
1292
|
+
# configuration to Google APIs can compromise the security of your systems and data.
|
1293
|
+
# For more information, refer to [Validate credential configurations from external
|
1294
|
+
# sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
|
1270
1295
|
# @return [::Object]
|
1271
1296
|
# @!attribute [rw] scope
|
1272
1297
|
# The OAuth scopes
|
@@ -1306,6 +1331,11 @@ module Google
|
|
1306
1331
|
# default endpoint URL. The default value of nil uses the environment
|
1307
1332
|
# universe (usually the default "googleapis.com" universe).
|
1308
1333
|
# @return [::String,nil]
|
1334
|
+
# @!attribute [rw] logger
|
1335
|
+
# A custom logger to use for request/response debug logging, or the value
|
1336
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
1337
|
+
# explicitly disable logging.
|
1338
|
+
# @return [::Logger,:default,nil]
|
1309
1339
|
#
|
1310
1340
|
class Configuration
|
1311
1341
|
extend ::Gapic::Config
|
@@ -1330,6 +1360,7 @@ module Google
|
|
1330
1360
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
1331
1361
|
config_attr :quota_project, nil, ::String, nil
|
1332
1362
|
config_attr :universe_domain, nil, ::String, nil
|
1363
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
1333
1364
|
|
1334
1365
|
# @private
|
1335
1366
|
def initialize parent_config = nil
|
@@ -124,14 +124,6 @@ module Google
|
|
124
124
|
# Lists operations that match the specified filter in the request. If the
|
125
125
|
# server doesn't support this method, it returns `UNIMPLEMENTED`.
|
126
126
|
#
|
127
|
-
# NOTE: the `name` binding allows API services to override the binding
|
128
|
-
# to use different resource name schemes, such as `users/*/operations`. To
|
129
|
-
# override the binding, API services can add a binding such as
|
130
|
-
# `"/v1/{name=users/*}/operations"` to their service configuration.
|
131
|
-
# For backwards compatibility, the default name includes the operations
|
132
|
-
# collection id, however overriding users must ensure the name binding
|
133
|
-
# is the parent resource, without the operations collection id.
|
134
|
-
#
|
135
127
|
# @overload list_operations(request, options = nil)
|
136
128
|
# Pass arguments to `list_operations` via a request object, either of type
|
137
129
|
# {::Google::Longrunning::ListOperationsRequest} or an equivalent Hash.
|
@@ -221,7 +213,7 @@ module Google
|
|
221
213
|
wrap_lro_operation = ->(op_response) { ::Gapic::Operation.new op_response, @operations_client }
|
222
214
|
response = ::Gapic::PagedEnumerable.new @operations_stub, :list_operations, request, response, operation, options, format_resource: wrap_lro_operation
|
223
215
|
yield response, operation if block_given?
|
224
|
-
|
216
|
+
throw :response, response
|
225
217
|
end
|
226
218
|
rescue ::GRPC::BadStatus => e
|
227
219
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -317,7 +309,7 @@ module Google
|
|
317
309
|
@operations_stub.call_rpc :get_operation, request, options: options do |response, operation|
|
318
310
|
response = ::Gapic::Operation.new response, @operations_client, options: options
|
319
311
|
yield response, operation if block_given?
|
320
|
-
|
312
|
+
throw :response, response
|
321
313
|
end
|
322
314
|
rescue ::GRPC::BadStatus => e
|
323
315
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -406,7 +398,6 @@ module Google
|
|
406
398
|
|
407
399
|
@operations_stub.call_rpc :delete_operation, request, options: options do |response, operation|
|
408
400
|
yield response, operation if block_given?
|
409
|
-
return response
|
410
401
|
end
|
411
402
|
rescue ::GRPC::BadStatus => e
|
412
403
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -421,8 +412,9 @@ module Google
|
|
421
412
|
# other methods to check whether the cancellation succeeded or whether the
|
422
413
|
# operation completed despite cancellation. On successful cancellation,
|
423
414
|
# the operation is not deleted; instead, it becomes an operation with
|
424
|
-
# an {::Google::Longrunning::Operation#error Operation.error} value with a
|
425
|
-
# corresponding to
|
415
|
+
# an {::Google::Longrunning::Operation#error Operation.error} value with a
|
416
|
+
# {::Google::Rpc::Status#code google.rpc.Status.code} of `1`, corresponding to
|
417
|
+
# `Code.CANCELLED`.
|
426
418
|
#
|
427
419
|
# @overload cancel_operation(request, options = nil)
|
428
420
|
# Pass arguments to `cancel_operation` via a request object, either of type
|
@@ -501,7 +493,6 @@ module Google
|
|
501
493
|
|
502
494
|
@operations_stub.call_rpc :cancel_operation, request, options: options do |response, operation|
|
503
495
|
yield response, operation if block_given?
|
504
|
-
return response
|
505
496
|
end
|
506
497
|
rescue ::GRPC::BadStatus => e
|
507
498
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -599,7 +590,7 @@ module Google
|
|
599
590
|
@operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
|
600
591
|
response = ::Gapic::Operation.new response, @operations_client, options: options
|
601
592
|
yield response, operation if block_given?
|
602
|
-
|
593
|
+
throw :response, response
|
603
594
|
end
|
604
595
|
rescue ::GRPC::BadStatus => e
|
605
596
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -649,6 +640,13 @@ module Google
|
|
649
640
|
# * (`GRPC::Core::Channel`) a gRPC channel with included credentials
|
650
641
|
# * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
|
651
642
|
# * (`nil`) indicating no credentials
|
643
|
+
#
|
644
|
+
# Warning: If you accept a credential configuration (JSON file or Hash) from an
|
645
|
+
# external source for authentication to Google Cloud, you must validate it before
|
646
|
+
# providing it to a Google API client library. Providing an unvalidated credential
|
647
|
+
# configuration to Google APIs can compromise the security of your systems and data.
|
648
|
+
# For more information, refer to [Validate credential configurations from external
|
649
|
+
# sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
|
652
650
|
# @return [::Object]
|
653
651
|
# @!attribute [rw] scope
|
654
652
|
# The OAuth scopes
|
@@ -688,6 +686,11 @@ module Google
|
|
688
686
|
# default endpoint URL. The default value of nil uses the environment
|
689
687
|
# universe (usually the default "googleapis.com" universe).
|
690
688
|
# @return [::String,nil]
|
689
|
+
# @!attribute [rw] logger
|
690
|
+
# A custom logger to use for request/response debug logging, or the value
|
691
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
692
|
+
# explicitly disable logging.
|
693
|
+
# @return [::Logger,:default,nil]
|
691
694
|
#
|
692
695
|
class Configuration
|
693
696
|
extend ::Gapic::Config
|
@@ -712,6 +715,7 @@ module Google
|
|
712
715
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
713
716
|
config_attr :quota_project, nil, ::String, nil
|
714
717
|
config_attr :universe_domain, nil, ::String, nil
|
718
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
715
719
|
|
716
720
|
# @private
|
717
721
|
def initialize parent_config = nil
|
@@ -28,6 +28,9 @@ module Google
|
|
28
28
|
# @!attribute [rw] destinations
|
29
29
|
# @return [::Array<::Google::Api::ClientLibraryDestination>]
|
30
30
|
# The destination where API teams want this client library to be published.
|
31
|
+
# @!attribute [rw] selective_gapic_generation
|
32
|
+
# @return [::Google::Api::SelectiveGapicGeneration]
|
33
|
+
# Configuration for which RPCs should be generated in the GAPIC client.
|
31
34
|
class CommonLanguageSettings
|
32
35
|
include ::Google::Protobuf::MessageExts
|
33
36
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -212,6 +215,12 @@ module Google
|
|
212
215
|
# enabled. By default, asynchronous REST clients will not be generated.
|
213
216
|
# This feature will be enabled by default 1 month after launching the
|
214
217
|
# feature in preview packages.
|
218
|
+
# @!attribute [rw] protobuf_pythonic_types_enabled
|
219
|
+
# @return [::Boolean]
|
220
|
+
# Enables generation of protobuf code using new types that are more
|
221
|
+
# Pythonic which are included in `protobuf>=5.29.x`. This feature will be
|
222
|
+
# enabled by default 1 month after launching the feature in preview
|
223
|
+
# packages.
|
215
224
|
class ExperimentalFeatures
|
216
225
|
include ::Google::Protobuf::MessageExts
|
217
226
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -297,9 +306,28 @@ module Google
|
|
297
306
|
# @!attribute [rw] common
|
298
307
|
# @return [::Google::Api::CommonLanguageSettings]
|
299
308
|
# Some settings.
|
309
|
+
# @!attribute [rw] renamed_services
|
310
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
311
|
+
# Map of service names to renamed services. Keys are the package relative
|
312
|
+
# service names and values are the name to be used for the service client
|
313
|
+
# and call options.
|
314
|
+
#
|
315
|
+
# publishing:
|
316
|
+
# go_settings:
|
317
|
+
# renamed_services:
|
318
|
+
# Publisher: TopicAdmin
|
300
319
|
class GoSettings
|
301
320
|
include ::Google::Protobuf::MessageExts
|
302
321
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
322
|
+
|
323
|
+
# @!attribute [rw] key
|
324
|
+
# @return [::String]
|
325
|
+
# @!attribute [rw] value
|
326
|
+
# @return [::String]
|
327
|
+
class RenamedServicesEntry
|
328
|
+
include ::Google::Protobuf::MessageExts
|
329
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
330
|
+
end
|
303
331
|
end
|
304
332
|
|
305
333
|
# Describes the generator configuration for a method.
|
@@ -375,6 +403,17 @@ module Google
|
|
375
403
|
end
|
376
404
|
end
|
377
405
|
|
406
|
+
# This message is used to configure the generation of a subset of the RPCs in
|
407
|
+
# a service for client libraries.
|
408
|
+
# @!attribute [rw] methods
|
409
|
+
# @return [::Array<::String>]
|
410
|
+
# An allowlist of the fully qualified names of RPCs that should be included
|
411
|
+
# on public client surfaces.
|
412
|
+
class SelectiveGapicGeneration
|
413
|
+
include ::Google::Protobuf::MessageExts
|
414
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
415
|
+
end
|
416
|
+
|
378
417
|
# The organization for which the client libraries are being published.
|
379
418
|
# Affects the url where generated docs are published, etc.
|
380
419
|
module ClientLibraryOrganization
|
@@ -40,9 +40,11 @@ module Google
|
|
40
40
|
# @!attribute [rw] error
|
41
41
|
# @return [::Google::Rpc::Status]
|
42
42
|
# The error result of the operation in case of failure or cancellation.
|
43
|
+
#
|
44
|
+
# Note: The following fields are mutually exclusive: `error`, `response`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
43
45
|
# @!attribute [rw] response
|
44
46
|
# @return [::Google::Protobuf::Any]
|
45
|
-
# The normal response of the operation
|
47
|
+
# The normal, successful response of the operation. If the original
|
46
48
|
# method returns no data on success, such as `Delete`, the response is
|
47
49
|
# `google.protobuf.Empty`. If the original method is standard
|
48
50
|
# `Get`/`Create`/`Update`, the response should be the resource. For other
|
@@ -50,12 +52,15 @@ module Google
|
|
50
52
|
# is the original method name. For example, if the original method name
|
51
53
|
# is `TakeSnapshot()`, the inferred response type is
|
52
54
|
# `TakeSnapshotResponse`.
|
55
|
+
#
|
56
|
+
# Note: The following fields are mutually exclusive: `response`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
|
53
57
|
class Operation
|
54
58
|
include ::Google::Protobuf::MessageExts
|
55
59
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
56
60
|
end
|
57
61
|
|
58
|
-
# The request message for
|
62
|
+
# The request message for
|
63
|
+
# Operations.GetOperation.
|
59
64
|
# @!attribute [rw] name
|
60
65
|
# @return [::String]
|
61
66
|
# The name of the operation resource.
|
@@ -64,7 +69,8 @@ module Google
|
|
64
69
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
65
70
|
end
|
66
71
|
|
67
|
-
# The request message for
|
72
|
+
# The request message for
|
73
|
+
# Operations.ListOperations.
|
68
74
|
# @!attribute [rw] name
|
69
75
|
# @return [::String]
|
70
76
|
# The name of the operation's parent resource.
|
@@ -82,7 +88,8 @@ module Google
|
|
82
88
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
83
89
|
end
|
84
90
|
|
85
|
-
# The response message for
|
91
|
+
# The response message for
|
92
|
+
# Operations.ListOperations.
|
86
93
|
# @!attribute [rw] operations
|
87
94
|
# @return [::Array<::Google::Longrunning::Operation>]
|
88
95
|
# A list of operations that matches the specified filter in the request.
|
@@ -94,7 +101,8 @@ module Google
|
|
94
101
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
95
102
|
end
|
96
103
|
|
97
|
-
# The request message for
|
104
|
+
# The request message for
|
105
|
+
# Operations.CancelOperation.
|
98
106
|
# @!attribute [rw] name
|
99
107
|
# @return [::String]
|
100
108
|
# The name of the operation resource to be cancelled.
|
@@ -103,7 +111,8 @@ module Google
|
|
103
111
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
104
112
|
end
|
105
113
|
|
106
|
-
# The request message for
|
114
|
+
# The request message for
|
115
|
+
# Operations.DeleteOperation.
|
107
116
|
# @!attribute [rw] name
|
108
117
|
# @return [::String]
|
109
118
|
# The name of the operation resource to be deleted.
|
@@ -112,7 +121,8 @@ module Google
|
|
112
121
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
113
122
|
end
|
114
123
|
|
115
|
-
# The request message for
|
124
|
+
# The request message for
|
125
|
+
# Operations.WaitOperation.
|
116
126
|
# @!attribute [rw] name
|
117
127
|
# @return [::String]
|
118
128
|
# The name of the operation resource to wait on.
|
@@ -130,13 +140,12 @@ module Google
|
|
130
140
|
#
|
131
141
|
# Example:
|
132
142
|
#
|
133
|
-
#
|
134
|
-
#
|
135
|
-
#
|
136
|
-
#
|
137
|
-
#
|
138
|
-
# }
|
139
|
-
# }
|
143
|
+
# rpc Export(ExportRequest) returns (google.longrunning.Operation) {
|
144
|
+
# option (google.longrunning.operation_info) = {
|
145
|
+
# response_type: "ExportResponse"
|
146
|
+
# metadata_type: "ExportMetadata"
|
147
|
+
# };
|
148
|
+
# }
|
140
149
|
# @!attribute [rw] response_type
|
141
150
|
# @return [::String]
|
142
151
|
# Required. The message name of the primary return type for this
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-tpu-v1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-01-29 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: gapic-common
|
@@ -16,7 +15,7 @@ dependencies:
|
|
16
15
|
requirements:
|
17
16
|
- - ">="
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
18
|
+
version: 0.25.0
|
20
19
|
- - "<"
|
21
20
|
- !ruby/object:Gem::Version
|
22
21
|
version: 2.a
|
@@ -26,7 +25,7 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
28
|
+
version: 0.25.0
|
30
29
|
- - "<"
|
31
30
|
- !ruby/object:Gem::Version
|
32
31
|
version: 2.a
|
@@ -105,7 +104,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
|
|
105
104
|
licenses:
|
106
105
|
- Apache-2.0
|
107
106
|
metadata: {}
|
108
|
-
post_install_message:
|
109
107
|
rdoc_options: []
|
110
108
|
require_paths:
|
111
109
|
- lib
|
@@ -113,15 +111,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
113
111
|
requirements:
|
114
112
|
- - ">="
|
115
113
|
- !ruby/object:Gem::Version
|
116
|
-
version: '
|
114
|
+
version: '3.0'
|
117
115
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
116
|
requirements:
|
119
117
|
- - ">="
|
120
118
|
- !ruby/object:Gem::Version
|
121
119
|
version: '0'
|
122
120
|
requirements: []
|
123
|
-
rubygems_version: 3.
|
124
|
-
signing_key:
|
121
|
+
rubygems_version: 3.6.2
|
125
122
|
specification_version: 4
|
126
123
|
summary: TPU API provides customers with access to Google TPU technology.
|
127
124
|
test_files: []
|