google-cloud-automl 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +11 -0
  3. data/AUTHENTICATION.md +199 -0
  4. data/LICENSE +201 -0
  5. data/README.md +69 -0
  6. data/lib/google/cloud/automl/v1beta1/annotation_payload_pb.rb +34 -0
  7. data/lib/google/cloud/automl/v1beta1/annotation_spec_pb.rb +18 -0
  8. data/lib/google/cloud/automl/v1beta1/automl_client.rb +1914 -0
  9. data/lib/google/cloud/automl/v1beta1/automl_client_config.json +146 -0
  10. data/lib/google/cloud/automl/v1beta1/classification_pb.rb +65 -0
  11. data/lib/google/cloud/automl/v1beta1/column_spec_pb.rb +28 -0
  12. data/lib/google/cloud/automl/v1beta1/credentials.rb +41 -0
  13. data/lib/google/cloud/automl/v1beta1/data_items_pb.rb +48 -0
  14. data/lib/google/cloud/automl/v1beta1/data_stats_pb.rb +77 -0
  15. data/lib/google/cloud/automl/v1beta1/data_types_pb.rb +36 -0
  16. data/lib/google/cloud/automl/v1beta1/dataset_pb.rb +38 -0
  17. data/lib/google/cloud/automl/v1beta1/detection_pb.rb +52 -0
  18. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/annotation_payload.rb +63 -0
  19. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/annotation_spec.rb +41 -0
  20. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/classification.rb +203 -0
  21. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/column_spec.rb +72 -0
  22. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/data_items.rb +94 -0
  23. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/data_stats.rb +160 -0
  24. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/data_types.rb +107 -0
  25. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/dataset.rb +77 -0
  26. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/detection.rb +134 -0
  27. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/geometry.rb +43 -0
  28. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/image.rb +141 -0
  29. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/io.rb +975 -0
  30. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/model.rb +92 -0
  31. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/model_evaluation.rb +100 -0
  32. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/prediction_service.rb +136 -0
  33. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/ranges.rb +31 -0
  34. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/regression.rb +41 -0
  35. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/service.rb +368 -0
  36. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/table_spec.rb +64 -0
  37. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/tables.rb +261 -0
  38. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/temporal.rb +33 -0
  39. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text.rb +53 -0
  40. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text_extraction.rb +60 -0
  41. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text_segment.rb +37 -0
  42. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/text_sentiment.rb +76 -0
  43. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/translation.rb +63 -0
  44. data/lib/google/cloud/automl/v1beta1/doc/google/cloud/automl/v1beta1/video.rb +35 -0
  45. data/lib/google/cloud/automl/v1beta1/doc/google/longrunning/operations.rb +51 -0
  46. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/any.rb +131 -0
  47. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/duration.rb +91 -0
  48. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/field_mask.rb +222 -0
  49. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/struct.rb +74 -0
  50. data/lib/google/cloud/automl/v1beta1/doc/google/protobuf/timestamp.rb +111 -0
  51. data/lib/google/cloud/automl/v1beta1/doc/google/rpc/status.rb +87 -0
  52. data/lib/google/cloud/automl/v1beta1/geometry_pb.rb +21 -0
  53. data/lib/google/cloud/automl/v1beta1/image_pb.rb +43 -0
  54. data/lib/google/cloud/automl/v1beta1/io_pb.rb +80 -0
  55. data/lib/google/cloud/automl/v1beta1/model_evaluation_pb.rb +37 -0
  56. data/lib/google/cloud/automl/v1beta1/model_pb.rb +44 -0
  57. data/lib/google/cloud/automl/v1beta1/operations_pb.rb +90 -0
  58. data/lib/google/cloud/automl/v1beta1/prediction_service_client.rb +442 -0
  59. data/lib/google/cloud/automl/v1beta1/prediction_service_client_config.json +36 -0
  60. data/lib/google/cloud/automl/v1beta1/prediction_service_pb.rb +39 -0
  61. data/lib/google/cloud/automl/v1beta1/prediction_service_services_pb.rb +72 -0
  62. data/lib/google/cloud/automl/v1beta1/ranges_pb.rb +17 -0
  63. data/lib/google/cloud/automl/v1beta1/regression_pb.rb +20 -0
  64. data/lib/google/cloud/automl/v1beta1/service_pb.rb +177 -0
  65. data/lib/google/cloud/automl/v1beta1/service_services_pb.rb +159 -0
  66. data/lib/google/cloud/automl/v1beta1/table_spec_pb.rb +22 -0
  67. data/lib/google/cloud/automl/v1beta1/tables_pb.rb +56 -0
  68. data/lib/google/cloud/automl/v1beta1/temporal_pb.rb +18 -0
  69. data/lib/google/cloud/automl/v1beta1/text_extraction_pb.rb +32 -0
  70. data/lib/google/cloud/automl/v1beta1/text_pb.rb +33 -0
  71. data/lib/google/cloud/automl/v1beta1/text_segment_pb.rb +18 -0
  72. data/lib/google/cloud/automl/v1beta1/text_sentiment_pb.rb +29 -0
  73. data/lib/google/cloud/automl/v1beta1/translation_pb.rb +33 -0
  74. data/lib/google/cloud/automl/v1beta1/video_pb.rb +25 -0
  75. data/lib/google/cloud/automl/v1beta1.rb +231 -0
  76. data/lib/google/cloud/automl/version.rb +22 -0
  77. data/lib/google/cloud/automl.rb +219 -0
  78. data/lib/google-cloud-automl.rb +15 -0
  79. metadata +203 -0
@@ -0,0 +1,231 @@
1
+ # Copyright 2019 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ require "google/cloud/automl/v1beta1/automl_client"
17
+ require "google/cloud/automl/v1beta1/prediction_service_client"
18
+ require "google/cloud/automl/v1beta1/prediction_service_pb"
19
+ require "google/cloud/automl/v1beta1/operations_pb"
20
+
21
+ module Google
22
+ module Cloud
23
+ module AutoML
24
+ # rubocop:disable LineLength
25
+
26
+ ##
27
+ # # Ruby Client for Cloud AutoML API ([Alpha](https://github.com/googleapis/google-cloud-ruby#versioning))
28
+ #
29
+ # [Cloud AutoML API][Product Documentation]:
30
+ # Train high-quality custom machine learning models with minimum effort and
31
+ # machine learning expertise.
32
+ # - [Product Documentation][]
33
+ #
34
+ # ## Quick Start
35
+ # In order to use this library, you first need to go through the following
36
+ # steps:
37
+ #
38
+ # 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
39
+ # 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
40
+ # 3. [Enable the Cloud AutoML API.](https://console.cloud.google.com/apis/library/automl.googleapis.com)
41
+ # 4. [Setup Authentication.](https://googleapis.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
42
+ #
43
+ # ### Installation
44
+ # ```
45
+ # $ gem install google-cloud-automl
46
+ # ```
47
+ #
48
+ # ### Next Steps
49
+ # - Read the [Cloud AutoML API Product documentation][Product Documentation]
50
+ # to learn more about the product and see How-to Guides.
51
+ # - View this [repository's main README](https://github.com/googleapis/google-cloud-ruby/blob/master/README.md)
52
+ # to see the full list of Cloud APIs that we cover.
53
+ #
54
+ # [Product Documentation]: https://cloud.google.com/automl
55
+ #
56
+ # ## Enabling Logging
57
+ #
58
+ # To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
59
+ # The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
60
+ # or a [`Google::Cloud::Logging::Logger`](https://googleapis.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger)
61
+ # that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
62
+ # and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
63
+ #
64
+ # Configuring a Ruby stdlib logger:
65
+ #
66
+ # ```ruby
67
+ # require "logger"
68
+ #
69
+ # module MyLogger
70
+ # LOGGER = Logger.new $stderr, level: Logger::WARN
71
+ # def logger
72
+ # LOGGER
73
+ # end
74
+ # end
75
+ #
76
+ # # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
77
+ # module GRPC
78
+ # extend MyLogger
79
+ # end
80
+ # ```
81
+ #
82
+ module V1beta1
83
+ # rubocop:enable LineLength
84
+
85
+ module AutoML
86
+ ##
87
+ # AutoML Server API.
88
+ #
89
+ # The resource names are assigned by the server.
90
+ # The server never reuses names that it has created after the resources with
91
+ # those names are deleted.
92
+ #
93
+ # An ID of a resource is the last element of the item's resource name. For
94
+ # `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`, then
95
+ # the id for the item is `{dataset_id}`.
96
+ #
97
+ # Currently the only supported `location_id` is "us-central1".
98
+ #
99
+ # On any input that is documented to expect a string parameter in
100
+ # snake_case or kebab-case, either of those cases is accepted.
101
+ #
102
+ # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
103
+ # Provides the means for authenticating requests made by the client. This parameter can
104
+ # be many types.
105
+ # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
106
+ # authenticating requests made by this client.
107
+ # A `String` will be treated as the path to the keyfile to be used for the construction of
108
+ # credentials for this client.
109
+ # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
110
+ # credentials for this client.
111
+ # A `GRPC::Core::Channel` will be used to make calls through.
112
+ # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
113
+ # should already be composed with a `GRPC::Core::CallCredentials` object.
114
+ # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
115
+ # metadata for requests, generally, to give OAuth credentials.
116
+ # @param scopes [Array<String>]
117
+ # The OAuth scopes for this service. This parameter is ignored if
118
+ # an updater_proc is supplied.
119
+ # @param client_config [Hash]
120
+ # A Hash for call options for each method. See
121
+ # Google::Gax#construct_settings for the structure of
122
+ # this data. Falls back to the default config if not specified
123
+ # or the specified config is missing data points.
124
+ # @param timeout [Numeric]
125
+ # The default timeout, in seconds, for calls made through this client.
126
+ # @param metadata [Hash]
127
+ # Default metadata to be sent with each request. This can be overridden on a per call basis.
128
+ # @param service_address [String]
129
+ # Override for the service hostname, or `nil` to leave as the default.
130
+ # @param service_port [Integer]
131
+ # Override for the service port, or `nil` to leave as the default.
132
+ # @param exception_transformer [Proc]
133
+ # An optional proc that intercepts any exceptions raised during an API call to inject
134
+ # custom error handling.
135
+ def self.new \
136
+ credentials: nil,
137
+ scopes: nil,
138
+ client_config: nil,
139
+ timeout: nil,
140
+ metadata: nil,
141
+ service_address: nil,
142
+ service_port: nil,
143
+ exception_transformer: nil,
144
+ lib_name: nil,
145
+ lib_version: nil
146
+ kwargs = {
147
+ credentials: credentials,
148
+ scopes: scopes,
149
+ client_config: client_config,
150
+ timeout: timeout,
151
+ metadata: metadata,
152
+ exception_transformer: exception_transformer,
153
+ lib_name: lib_name,
154
+ service_address: service_address,
155
+ service_port: service_port,
156
+ lib_version: lib_version
157
+ }.select { |_, v| v != nil }
158
+ Google::Cloud::AutoML::V1beta1::AutoMLClient.new(**kwargs)
159
+ end
160
+ end
161
+
162
+ module Prediction
163
+ ##
164
+ # AutoML Prediction API.
165
+ #
166
+ # On any input that is documented to expect a string parameter in
167
+ # snake_case or kebab-case, either of those cases is accepted.
168
+ #
169
+ # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
170
+ # Provides the means for authenticating requests made by the client. This parameter can
171
+ # be many types.
172
+ # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
173
+ # authenticating requests made by this client.
174
+ # A `String` will be treated as the path to the keyfile to be used for the construction of
175
+ # credentials for this client.
176
+ # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
177
+ # credentials for this client.
178
+ # A `GRPC::Core::Channel` will be used to make calls through.
179
+ # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
180
+ # should already be composed with a `GRPC::Core::CallCredentials` object.
181
+ # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
182
+ # metadata for requests, generally, to give OAuth credentials.
183
+ # @param scopes [Array<String>]
184
+ # The OAuth scopes for this service. This parameter is ignored if
185
+ # an updater_proc is supplied.
186
+ # @param client_config [Hash]
187
+ # A Hash for call options for each method. See
188
+ # Google::Gax#construct_settings for the structure of
189
+ # this data. Falls back to the default config if not specified
190
+ # or the specified config is missing data points.
191
+ # @param timeout [Numeric]
192
+ # The default timeout, in seconds, for calls made through this client.
193
+ # @param metadata [Hash]
194
+ # Default metadata to be sent with each request. This can be overridden on a per call basis.
195
+ # @param service_address [String]
196
+ # Override for the service hostname, or `nil` to leave as the default.
197
+ # @param service_port [Integer]
198
+ # Override for the service port, or `nil` to leave as the default.
199
+ # @param exception_transformer [Proc]
200
+ # An optional proc that intercepts any exceptions raised during an API call to inject
201
+ # custom error handling.
202
+ def self.new \
203
+ credentials: nil,
204
+ scopes: nil,
205
+ client_config: nil,
206
+ timeout: nil,
207
+ metadata: nil,
208
+ service_address: nil,
209
+ service_port: nil,
210
+ exception_transformer: nil,
211
+ lib_name: nil,
212
+ lib_version: nil
213
+ kwargs = {
214
+ credentials: credentials,
215
+ scopes: scopes,
216
+ client_config: client_config,
217
+ timeout: timeout,
218
+ metadata: metadata,
219
+ exception_transformer: exception_transformer,
220
+ lib_name: lib_name,
221
+ service_address: service_address,
222
+ service_port: service_port,
223
+ lib_version: lib_version
224
+ }.select { |_, v| v != nil }
225
+ Google::Cloud::AutoML::V1beta1::PredictionServiceClient.new(**kwargs)
226
+ end
227
+ end
228
+ end
229
+ end
230
+ end
231
+ end
@@ -0,0 +1,22 @@
1
+ # Copyright 2019 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ module Google
17
+ module Cloud
18
+ module AutoML
19
+ VERSION = "0.1.0".freeze
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,219 @@
1
+ # Copyright 2019 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ require "google/gax"
17
+ require "pathname"
18
+
19
+ module Google
20
+ module Cloud
21
+ # rubocop:disable LineLength
22
+
23
+ ##
24
+ # # Ruby Client for Cloud AutoML API ([Alpha](https://github.com/googleapis/google-cloud-ruby#versioning))
25
+ #
26
+ # [Cloud AutoML API][Product Documentation]:
27
+ # Train high-quality custom machine learning models with minimum effort and
28
+ # machine learning expertise.
29
+ # - [Product Documentation][]
30
+ #
31
+ # ## Quick Start
32
+ # In order to use this library, you first need to go through the following
33
+ # steps:
34
+ #
35
+ # 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
36
+ # 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
37
+ # 3. [Enable the Cloud AutoML API.](https://console.cloud.google.com/apis/library/automl.googleapis.com)
38
+ # 4. [Setup Authentication.](https://googleapis.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
39
+ #
40
+ # ### Installation
41
+ # ```
42
+ # $ gem install google-cloud-automl
43
+ # ```
44
+ #
45
+ # ### Next Steps
46
+ # - Read the [Cloud AutoML API Product documentation][Product Documentation]
47
+ # to learn more about the product and see How-to Guides.
48
+ # - View this [repository's main README](https://github.com/googleapis/google-cloud-ruby/blob/master/README.md)
49
+ # to see the full list of Cloud APIs that we cover.
50
+ #
51
+ # [Product Documentation]: https://cloud.google.com/automl
52
+ #
53
+ # ## Enabling Logging
54
+ #
55
+ # To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
56
+ # The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
57
+ # or a [`Google::Cloud::Logging::Logger`](https://googleapis.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger)
58
+ # that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
59
+ # and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
60
+ #
61
+ # Configuring a Ruby stdlib logger:
62
+ #
63
+ # ```ruby
64
+ # require "logger"
65
+ #
66
+ # module MyLogger
67
+ # LOGGER = Logger.new $stderr, level: Logger::WARN
68
+ # def logger
69
+ # LOGGER
70
+ # end
71
+ # end
72
+ #
73
+ # # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
74
+ # module GRPC
75
+ # extend MyLogger
76
+ # end
77
+ # ```
78
+ #
79
+ module AutoML
80
+ # rubocop:enable LineLength
81
+
82
+ FILE_DIR = File.realdirpath(Pathname.new(__FILE__).join("..").join("automl"))
83
+
84
+ AVAILABLE_VERSIONS = Dir["#{FILE_DIR}/*"]
85
+ .select { |file| File.directory?(file) }
86
+ .select { |dir| Google::Gax::VERSION_MATCHER.match(File.basename(dir)) }
87
+ .select { |dir| File.exist?(dir + ".rb") }
88
+ .map { |dir| File.basename(dir) }
89
+
90
+ module AutoML
91
+ ##
92
+ # AutoML Server API.
93
+ #
94
+ # The resource names are assigned by the server.
95
+ # The server never reuses names that it has created after the resources with
96
+ # those names are deleted.
97
+ #
98
+ # An ID of a resource is the last element of the item's resource name. For
99
+ # `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}`, then
100
+ # the id for the item is `{dataset_id}`.
101
+ #
102
+ # Currently the only supported `location_id` is "us-central1".
103
+ #
104
+ # On any input that is documented to expect a string parameter in
105
+ # snake_case or kebab-case, either of those cases is accepted.
106
+ #
107
+ # @param version [Symbol, String]
108
+ # The major version of the service to be used. By default :v1beta1
109
+ # is used.
110
+ # @overload new(version:, credentials:, scopes:, client_config:, timeout:)
111
+ # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
112
+ # Provides the means for authenticating requests made by the client. This parameter can
113
+ # be many types.
114
+ # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
115
+ # authenticating requests made by this client.
116
+ # A `String` will be treated as the path to the keyfile to be used for the construction of
117
+ # credentials for this client.
118
+ # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
119
+ # credentials for this client.
120
+ # A `GRPC::Core::Channel` will be used to make calls through.
121
+ # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
122
+ # should already be composed with a `GRPC::Core::CallCredentials` object.
123
+ # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
124
+ # metadata for requests, generally, to give OAuth credentials.
125
+ # @param scopes [Array<String>]
126
+ # The OAuth scopes for this service. This parameter is ignored if
127
+ # an updater_proc is supplied.
128
+ # @param client_config [Hash]
129
+ # A Hash for call options for each method. See
130
+ # Google::Gax#construct_settings for the structure of
131
+ # this data. Falls back to the default config if not specified
132
+ # or the specified config is missing data points.
133
+ # @param timeout [Numeric]
134
+ # The default timeout, in seconds, for calls made through this client.
135
+ # @param metadata [Hash]
136
+ # Default metadata to be sent with each request. This can be overridden on a per call basis.
137
+ # @param service_address [String]
138
+ # Override for the service hostname, or `nil` to leave as the default.
139
+ # @param service_port [Integer]
140
+ # Override for the service port, or `nil` to leave as the default.
141
+ # @param exception_transformer [Proc]
142
+ # An optional proc that intercepts any exceptions raised during an API call to inject
143
+ # custom error handling.
144
+ def self.new(*args, version: :v1beta1, **kwargs)
145
+ unless AVAILABLE_VERSIONS.include?(version.to_s.downcase)
146
+ raise "The version: #{version} is not available. The available versions " \
147
+ "are: [#{AVAILABLE_VERSIONS.join(", ")}]"
148
+ end
149
+
150
+ require "#{FILE_DIR}/#{version.to_s.downcase}"
151
+ version_module = Google::Cloud::AutoML
152
+ .constants
153
+ .select {|sym| sym.to_s.downcase == version.to_s.downcase}
154
+ .first
155
+ Google::Cloud::AutoML.const_get(version_module)::AutoML.new(*args, **kwargs)
156
+ end
157
+ end
158
+
159
+ module Prediction
160
+ ##
161
+ # AutoML Prediction API.
162
+ #
163
+ # On any input that is documented to expect a string parameter in
164
+ # snake_case or kebab-case, either of those cases is accepted.
165
+ #
166
+ # @param version [Symbol, String]
167
+ # The major version of the service to be used. By default :v1beta1
168
+ # is used.
169
+ # @overload new(version:, credentials:, scopes:, client_config:, timeout:)
170
+ # @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
171
+ # Provides the means for authenticating requests made by the client. This parameter can
172
+ # be many types.
173
+ # A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
174
+ # authenticating requests made by this client.
175
+ # A `String` will be treated as the path to the keyfile to be used for the construction of
176
+ # credentials for this client.
177
+ # A `Hash` will be treated as the contents of a keyfile to be used for the construction of
178
+ # credentials for this client.
179
+ # A `GRPC::Core::Channel` will be used to make calls through.
180
+ # A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
181
+ # should already be composed with a `GRPC::Core::CallCredentials` object.
182
+ # A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
183
+ # metadata for requests, generally, to give OAuth credentials.
184
+ # @param scopes [Array<String>]
185
+ # The OAuth scopes for this service. This parameter is ignored if
186
+ # an updater_proc is supplied.
187
+ # @param client_config [Hash]
188
+ # A Hash for call options for each method. See
189
+ # Google::Gax#construct_settings for the structure of
190
+ # this data. Falls back to the default config if not specified
191
+ # or the specified config is missing data points.
192
+ # @param timeout [Numeric]
193
+ # The default timeout, in seconds, for calls made through this client.
194
+ # @param metadata [Hash]
195
+ # Default metadata to be sent with each request. This can be overridden on a per call basis.
196
+ # @param service_address [String]
197
+ # Override for the service hostname, or `nil` to leave as the default.
198
+ # @param service_port [Integer]
199
+ # Override for the service port, or `nil` to leave as the default.
200
+ # @param exception_transformer [Proc]
201
+ # An optional proc that intercepts any exceptions raised during an API call to inject
202
+ # custom error handling.
203
+ def self.new(*args, version: :v1beta1, **kwargs)
204
+ unless AVAILABLE_VERSIONS.include?(version.to_s.downcase)
205
+ raise "The version: #{version} is not available. The available versions " \
206
+ "are: [#{AVAILABLE_VERSIONS.join(", ")}]"
207
+ end
208
+
209
+ require "#{FILE_DIR}/#{version.to_s.downcase}"
210
+ version_module = Google::Cloud::AutoML
211
+ .constants
212
+ .select {|sym| sym.to_s.downcase == version.to_s.downcase}
213
+ .first
214
+ Google::Cloud::AutoML.const_get(version_module)::Prediction.new(*args, **kwargs)
215
+ end
216
+ end
217
+ end
218
+ end
219
+ end
@@ -0,0 +1,15 @@
1
+ # Copyright 2019 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "google/cloud/automl"