google-cloud-discovery_engine 0.a → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d2598b4164625cfa2824ca718c8f4a5c56d73eb0b470ce731f823e5076272b55
4
- data.tar.gz: a6c70a31a367b641ce7d42554f2b88abb4bad5831d6331d1d251339de6afc876
3
+ metadata.gz: 3de926b1c9c32021edd5666d90e23ff6576148b5bfcf13d20c320645e5c99b84
4
+ data.tar.gz: 4d6c0ae3057093ddcf31d7852ce7141df0bb00bfdb761bbdf4cd1b762c7a7c0b
5
5
  SHA512:
6
- metadata.gz: 660424c4768e7bd41a7cdd93808ec45d776317e221bcfad27099f61bcb70e4c71b73bc690740e9909be016296293b6b00c72583c591d0da51d1ec9c09d70a816
7
- data.tar.gz: b87edffec6641871fecdf283516aabd59ff699f0ec14f4333ba505b395589ac7d7dbe488bb27edf7f9eb17f24ba5ea90744b967c3c2a20a4e4436a9a090a48d5
6
+ metadata.gz: 8d4286af0b5486e60881e974ac00ad42eb5412085a0713319c347ecb60c6f5b5d95fc95b409bd95bc9d448330ba3f184f22760412ac8af015f3750a742dbd551
7
+ data.tar.gz: 6b0cb1ff3fbe49ba1bed4d8f3d566010093e2d96fdbc6f97e26d563b270b806bb18fc62301d9246b1a39e9e1e7fa3b655471a9d0b90debf61a41c22cca65557e
data/.yardopts ADDED
@@ -0,0 +1,11 @@
1
+ --no-private
2
+ --title="Discovery Engine API"
3
+ --exclude _pb\.rb$
4
+ --markup markdown
5
+ --markup-provider redcarpet
6
+
7
+ ./lib/**/*.rb
8
+ -
9
+ README.md
10
+ AUTHENTICATION.md
11
+ LICENSE.md
data/AUTHENTICATION.md ADDED
@@ -0,0 +1,149 @@
1
+ # Authentication
2
+
3
+ In general, the google-cloud-discovery_engine library uses
4
+ [Service Account](https://cloud.google.com/iam/docs/creating-managing-service-accounts)
5
+ credentials to connect to Google Cloud services. When running within
6
+ [Google Cloud Platform environments](#google-cloud-platform-environments) the
7
+ credentials will be discovered automatically. When running on other
8
+ environments, the Service Account credentials can be specified by providing the
9
+ path to the
10
+ [JSON keyfile](https://cloud.google.com/iam/docs/managing-service-account-keys)
11
+ for the account (or the JSON itself) in
12
+ [environment variables](#environment-variables). Additionally, Cloud SDK
13
+ credentials can also be discovered automatically, but this is only recommended
14
+ during development.
15
+
16
+ ## Quickstart
17
+
18
+ 1. [Create a service account and credentials](#creating-a-service-account).
19
+ 2. Set the [environment variable](#environment-variables).
20
+
21
+ ```sh
22
+ export GOOGLE_CLOUD_CREDENTIALS=path/to/keyfile.json
23
+ ```
24
+
25
+ 3. Initialize the client.
26
+
27
+ ```ruby
28
+ require "google/cloud/discovery_engine"
29
+
30
+ client = Google::Cloud::DiscoveryEngine.completion_service
31
+ ```
32
+
33
+ ## Credential Lookup
34
+
35
+ The google-cloud-discovery_engine library aims to make authentication
36
+ as simple as possible, and provides several mechanisms to configure your system
37
+ without requiring **Service Account Credentials** directly in code.
38
+
39
+ **Credentials** are discovered in the following order:
40
+
41
+ 1. Specify credentials in method arguments
42
+ 2. Specify credentials in configuration
43
+ 3. Discover credentials path in environment variables
44
+ 4. Discover credentials JSON in environment variables
45
+ 5. Discover credentials file in the Cloud SDK's path
46
+ 6. Discover GCP credentials
47
+
48
+ ### Google Cloud Platform environments
49
+
50
+ When running on Google Cloud Platform (GCP), including Google Compute Engine
51
+ (GCE), Google Kubernetes Engine (GKE), Google App Engine (GAE), Google Cloud
52
+ Functions (GCF) and Cloud Run, **Credentials** are discovered automatically.
53
+ Code should be written as if already authenticated.
54
+
55
+ ### Environment Variables
56
+
57
+ The **Credentials JSON** can be placed in environment variables instead of
58
+ declaring them directly in code. Each service has its own environment variable,
59
+ allowing for different service accounts to be used for different services. (See
60
+ the READMEs for the individual service gems for details.) The path to the
61
+ **Credentials JSON** file can be stored in the environment variable, or the
62
+ **Credentials JSON** itself can be stored for environments such as Docker
63
+ containers where writing files is difficult or not encouraged.
64
+
65
+ The environment variables that google-cloud-discovery_engine
66
+ checks for credentials are configured on the service Credentials class (such as
67
+ `::Google::Cloud::DiscoveryEngine::V1::CompletionService::Credentials`):
68
+
69
+ * `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
70
+ * `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
71
+ * `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
72
+
73
+ ```ruby
74
+ require "google/cloud/discovery_engine"
75
+
76
+ ENV["GOOGLE_CLOUD_CREDENTIALS"] = "path/to/keyfile.json"
77
+
78
+ client = Google::Cloud::DiscoveryEngine.completion_service
79
+ ```
80
+
81
+ ### Configuration
82
+
83
+ The path to the **Credentials JSON** file can be configured instead of storing
84
+ it in an environment variable. Either on an individual client initialization:
85
+
86
+ ```ruby
87
+ require "google/cloud/discovery_engine"
88
+
89
+ client = Google::Cloud::DiscoveryEngine.completion_service do |config|
90
+ config.credentials = "path/to/keyfile.json"
91
+ end
92
+ ```
93
+
94
+ Or globally for all clients:
95
+
96
+ ```ruby
97
+ require "google/cloud/discovery_engine"
98
+
99
+ Google::Cloud::DiscoveryEngine.configure do |config|
100
+ config.credentials = "path/to/keyfile.json"
101
+ end
102
+
103
+ client = Google::Cloud::DiscoveryEngine.completion_service
104
+ ```
105
+
106
+ ### Cloud SDK
107
+
108
+ This option allows for an easy way to authenticate during development. If
109
+ credentials are not provided in code or in environment variables, then Cloud SDK
110
+ credentials are discovered.
111
+
112
+ To configure your system for this, simply:
113
+
114
+ 1. [Download and install the Cloud SDK](https://cloud.google.com/sdk)
115
+ 2. Authenticate using OAuth 2.0 `$ gcloud auth application-default login`
116
+ 3. Write code as if already authenticated.
117
+
118
+ **NOTE:** This is _not_ recommended for running in production. The Cloud SDK
119
+ *should* only be used during development.
120
+
121
+ ## Creating a Service Account
122
+
123
+ Google Cloud requires **Service Account Credentials** to
124
+ connect to the APIs. You will use the **JSON key file** to
125
+ connect to most services with google-cloud-discovery_engine.
126
+
127
+ If you are not running this client within
128
+ [Google Cloud Platform environments](#google-cloud-platform-environments), you
129
+ need a Google Developers service account.
130
+
131
+ 1. Visit the [Google Cloud Console](https://console.cloud.google.com/project).
132
+ 2. Create a new project or click on an existing project.
133
+ 3. Activate the menu in the upper left and select **APIs & Services**. From
134
+ here, you will enable the APIs that your application requires.
135
+
136
+ *Note: You may need to enable billing in order to use these services.*
137
+
138
+ 4. Select **Credentials** from the side navigation.
139
+
140
+ Find the "Create credentials" drop down near the top of the page, and select
141
+ "Service account" to be guided through downloading a new JSON key file.
142
+
143
+ If you want to re-use an existing service account, you can easily generate a
144
+ new key file. Just select the account you wish to re-use, click the pencil
145
+ tool on the right side to edit the service account, select the **Keys** tab,
146
+ and then select **Add Key**.
147
+
148
+ The key file you download will be used by this library to authenticate API
149
+ requests and should be stored in a secure location.
data/README.md CHANGED
@@ -1,8 +1,105 @@
1
- # Placeholder for Ruby gem google-cloud-discovery_engine
2
-
3
- This is a placeholder for the future Google-authored gem google-cloud-discovery_engine.
4
- This placeholder is being released on 2023-05-09 in order to reserve the name.
5
- The final gem should be available shortly after that date. If it has not been
6
- released in a timely manner, or if this placeholder interferes with your work,
7
- you can contact the Google Ruby team by opening an issue in the GitHub
8
- repository https://github.com/googleapis/google-cloud-ruby.
1
+ # Ruby Client for the Discovery Engine API
2
+
3
+ Discovery Engine API.
4
+
5
+ Discovery Engine API.
6
+
7
+ Actual client classes for the various versions of this API are defined in
8
+ _versioned_ client gems, with names of the form `google-cloud-discovery_engine-v*`.
9
+ The gem `google-cloud-discovery_engine` is the main client library that brings the
10
+ verisoned gems in as dependencies, and provides high-level methods for
11
+ constructing clients. More information on versioned clients can be found below
12
+ in the section titled *Which client should I use?*.
13
+
14
+ View the [Client Library Documentation](https://cloud.google.com/ruby/docs/reference/google-cloud-discovery_engine/latest)
15
+ for this library, google-cloud-discovery_engine, to see the convenience methods for
16
+ constructing client objects. Reference documentation for the client objects
17
+ themselves can be found in the client library documentation for the versioned
18
+ client gems:
19
+ [google-cloud-discovery_engine-v1](https://cloud.google.com/ruby/docs/reference/google-cloud-discovery_engine-v1/latest),
20
+ [google-cloud-discovery_engine-v1beta](https://cloud.google.com/ruby/docs/reference/google-cloud-discovery_engine-v1beta/latest).
21
+
22
+ See also the [Product Documentation](https://cloud.google.com/discovery-engine/media/docs)
23
+ for more usage information.
24
+
25
+ ## Quick Start
26
+
27
+ ```
28
+ $ gem install google-cloud-discovery_engine
29
+ ```
30
+
31
+ In order to use this library, you first need to go through the following steps:
32
+
33
+ 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
34
+ 1. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
35
+ 1. [Enable the API.](https://console.cloud.google.com/apis/library/discoveryengine.googleapis.com)
36
+ 1. {file:AUTHENTICATION.md Set up authentication.}
37
+
38
+ ## Supported Ruby Versions
39
+
40
+ This library is supported on Ruby 2.6+.
41
+
42
+ Google provides official support for Ruby versions that are actively supported
43
+ by Ruby Core—that is, Ruby versions that are either in normal maintenance or
44
+ in security maintenance, and not end of life. Older versions of Ruby _may_
45
+ still work, but are unsupported and not recommended. See
46
+ https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby
47
+ support schedule.
48
+
49
+ ## Which client should I use?
50
+
51
+ Most modern Ruby client libraries for Google APIs come in two flavors: the main
52
+ client library with a name such as `google-cloud-discovery_engine`,
53
+ and lower-level _versioned_ client libraries with names such as
54
+ `google-cloud-discovery_engine-v1`.
55
+ _In most cases, you should install the main client._
56
+
57
+ ### What's the difference between the main client and a versioned client?
58
+
59
+ A _versioned client_ provides a basic set of data types and client classes for
60
+ a _single version_ of a specific service. (That is, for a service with multiple
61
+ versions, there might be a separate versioned client for each service version.)
62
+ Most versioned clients are written and maintained by a code generator.
63
+
64
+ The _main client_ is designed to provide you with the _recommended_ client
65
+ interfaces for the service. There will be only one main client for any given
66
+ service, even a service with multiple versions. The main client includes
67
+ factory methods for constructing the client objects we recommend for most
68
+ users. In some cases, those will be classes provided by an underlying versioned
69
+ client; in other cases, they will be handwritten higher-level client objects
70
+ with additional capabilities, convenience methods, or best practices built in.
71
+ Generally, the main client will default to a recommended service version,
72
+ although in some cases you can override this if you need to talk to a specific
73
+ service version.
74
+
75
+ ### Why would I want to use the main client?
76
+
77
+ We recommend that most users install the main client gem for a service. You can
78
+ identify this gem as the one _without_ a version in its name, e.g.
79
+ `google-cloud-discovery_engine`.
80
+ The main client is recommended because it will embody the best practices for
81
+ accessing the service, and may also provide more convenient interfaces or
82
+ tighter integration into frameworks and third-party libraries. In addition, the
83
+ documentation and samples published by Google will generally demonstrate use of
84
+ the main client.
85
+
86
+ ### Why would I want to use a versioned client?
87
+
88
+ You can use a versioned client if you are content with a possibly lower-level
89
+ class interface, you explicitly want to avoid features provided by the main
90
+ client, or you want to access a specific service version not be covered by the
91
+ main client. You can identify versioned client gems because the service version
92
+ is part of the name, e.g. `google-cloud-discovery_engine-v1`.
93
+
94
+ ### What about the google-apis-<name> clients?
95
+
96
+ Client library gems with names that begin with `google-apis-` are based on an
97
+ older code generation technology. They talk to a REST/JSON backend (whereas
98
+ most modern clients talk to a [gRPC](https://grpc.io/) backend) and they may
99
+ not offer the same performance, features, and ease of use provided by more
100
+ modern clients.
101
+
102
+ The `google-apis-` clients have wide coverage across Google services, so you
103
+ might need to use one if there is no modern client available for the service.
104
+ However, if a modern client is available, we generally recommend it over the
105
+ older `google-apis-` clients.
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Copyright 2023 Google LLC
2
4
  #
3
5
  # Licensed under the Apache License, Version 2.0 (the "License");
4
6
  # you may not use this file except in compliance with the License.
5
7
  # You may obtain a copy of the License at
6
8
  #
7
- # http://www.apache.org/licenses/LICENSE-2.0
9
+ # https://www.apache.org/licenses/LICENSE-2.0
8
10
  #
9
11
  # Unless required by applicable law or agreed to in writing, software
10
12
  # distributed under the License is distributed on an "AS IS" BASIS,
@@ -12,10 +14,13 @@
12
14
  # See the License for the specific language governing permissions and
13
15
  # limitations under the License.
14
16
 
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
15
20
  module Google
16
21
  module Cloud
17
22
  module DiscoveryEngine
18
- VERSION = "0.a"
23
+ VERSION = "0.1.0"
19
24
  end
20
25
  end
21
26
  end
@@ -0,0 +1,256 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ # Require this file early so that the version constant gets defined before
20
+ # requiring "google/cloud". This is because google-cloud-core will load the
21
+ # entrypoint (gem name) file, which in turn re-requires this file (hence
22
+ # causing a require cycle) unless the version constant is already defined.
23
+ require "google/cloud/discovery_engine/version"
24
+
25
+ require "googleauth"
26
+ gem "google-cloud-core"
27
+ require "google/cloud" unless defined? ::Google::Cloud.new
28
+ require "google/cloud/config"
29
+
30
+ # Set the default configuration
31
+ ::Google::Cloud.configure.add_config! :discovery_engine do |config|
32
+ config.add_field! :endpoint, "discoveryengine.googleapis.com", match: ::String
33
+ config.add_field! :credentials, nil, match: [::String, ::Hash, ::Google::Auth::Credentials]
34
+ config.add_field! :scope, nil, match: [::Array, ::String]
35
+ config.add_field! :lib_name, nil, match: ::String
36
+ config.add_field! :lib_version, nil, match: ::String
37
+ config.add_field! :interceptors, nil, match: ::Array
38
+ config.add_field! :timeout, nil, match: ::Numeric
39
+ config.add_field! :metadata, nil, match: ::Hash
40
+ config.add_field! :retry_policy, nil, match: [::Hash, ::Proc]
41
+ config.add_field! :quota_project, nil, match: ::String
42
+ end
43
+
44
+ module Google
45
+ module Cloud
46
+ module DiscoveryEngine
47
+ ##
48
+ # Create a new client object for CompletionService.
49
+ #
50
+ # By default, this returns an instance of
51
+ # [Google::Cloud::DiscoveryEngine::V1::CompletionService::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-discovery_engine-v1/latest/Google-Cloud-DiscoveryEngine-V1-CompletionService-Client)
52
+ # for a gRPC client for version V1 of the API.
53
+ # However, you can specify a different API version by passing it in the
54
+ # `version` parameter. If the CompletionService service is
55
+ # supported by that API version, and the corresponding gem is available, the
56
+ # appropriate versioned client will be returned.
57
+ # You can also specify a different transport by passing `:rest` or `:grpc` in
58
+ # the `transport` parameter.
59
+ #
60
+ # ## About CompletionService
61
+ #
62
+ # Service for Auto-Completion.
63
+ #
64
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
65
+ # Defaults to `:v1`.
66
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
67
+ # @return [::Object] A client object for the specified version.
68
+ #
69
+ def self.completion_service version: :v1, transport: :grpc, &block
70
+ require "google/cloud/discovery_engine/#{version.to_s.downcase}"
71
+
72
+ package_name = Google::Cloud::DiscoveryEngine
73
+ .constants
74
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
75
+ .first
76
+ service_module = Google::Cloud::DiscoveryEngine.const_get(package_name).const_get(:CompletionService)
77
+ service_module = service_module.const_get(:Rest) if transport == :rest
78
+ service_module.const_get(:Client).new(&block)
79
+ end
80
+
81
+ ##
82
+ # Create a new client object for DocumentService.
83
+ #
84
+ # By default, this returns an instance of
85
+ # [Google::Cloud::DiscoveryEngine::V1::DocumentService::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-discovery_engine-v1/latest/Google-Cloud-DiscoveryEngine-V1-DocumentService-Client)
86
+ # for a gRPC client for version V1 of the API.
87
+ # However, you can specify a different API version by passing it in the
88
+ # `version` parameter. If the DocumentService service is
89
+ # supported by that API version, and the corresponding gem is available, the
90
+ # appropriate versioned client will be returned.
91
+ # You can also specify a different transport by passing `:rest` or `:grpc` in
92
+ # the `transport` parameter.
93
+ #
94
+ # ## About DocumentService
95
+ #
96
+ # Service for ingesting Document
97
+ # information of the customer's website.
98
+ #
99
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
100
+ # Defaults to `:v1`.
101
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
102
+ # @return [::Object] A client object for the specified version.
103
+ #
104
+ def self.document_service version: :v1, transport: :grpc, &block
105
+ require "google/cloud/discovery_engine/#{version.to_s.downcase}"
106
+
107
+ package_name = Google::Cloud::DiscoveryEngine
108
+ .constants
109
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
110
+ .first
111
+ service_module = Google::Cloud::DiscoveryEngine.const_get(package_name).const_get(:DocumentService)
112
+ service_module = service_module.const_get(:Rest) if transport == :rest
113
+ service_module.const_get(:Client).new(&block)
114
+ end
115
+
116
+ ##
117
+ # Create a new client object for SchemaService.
118
+ #
119
+ # By default, this returns an instance of
120
+ # [Google::Cloud::DiscoveryEngine::V1::SchemaService::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-discovery_engine-v1/latest/Google-Cloud-DiscoveryEngine-V1-SchemaService-Client)
121
+ # for a gRPC client for version V1 of the API.
122
+ # However, you can specify a different API version by passing it in the
123
+ # `version` parameter. If the SchemaService service is
124
+ # supported by that API version, and the corresponding gem is available, the
125
+ # appropriate versioned client will be returned.
126
+ # You can also specify a different transport by passing `:rest` or `:grpc` in
127
+ # the `transport` parameter.
128
+ #
129
+ # ## About SchemaService
130
+ #
131
+ # Service for managing Schemas.
132
+ #
133
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
134
+ # Defaults to `:v1`.
135
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
136
+ # @return [::Object] A client object for the specified version.
137
+ #
138
+ def self.schema_service version: :v1, transport: :grpc, &block
139
+ require "google/cloud/discovery_engine/#{version.to_s.downcase}"
140
+
141
+ package_name = Google::Cloud::DiscoveryEngine
142
+ .constants
143
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
144
+ .first
145
+ service_module = Google::Cloud::DiscoveryEngine.const_get(package_name).const_get(:SchemaService)
146
+ service_module = service_module.const_get(:Rest) if transport == :rest
147
+ service_module.const_get(:Client).new(&block)
148
+ end
149
+
150
+ ##
151
+ # Create a new client object for SearchService.
152
+ #
153
+ # By default, this returns an instance of
154
+ # [Google::Cloud::DiscoveryEngine::V1::SearchService::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-discovery_engine-v1/latest/Google-Cloud-DiscoveryEngine-V1-SearchService-Client)
155
+ # for a gRPC client for version V1 of the API.
156
+ # However, you can specify a different API version by passing it in the
157
+ # `version` parameter. If the SearchService service is
158
+ # supported by that API version, and the corresponding gem is available, the
159
+ # appropriate versioned client will be returned.
160
+ # You can also specify a different transport by passing `:rest` or `:grpc` in
161
+ # the `transport` parameter.
162
+ #
163
+ # ## About SearchService
164
+ #
165
+ # Service for search.
166
+ #
167
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
168
+ # Defaults to `:v1`.
169
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
170
+ # @return [::Object] A client object for the specified version.
171
+ #
172
+ def self.search_service version: :v1, transport: :grpc, &block
173
+ require "google/cloud/discovery_engine/#{version.to_s.downcase}"
174
+
175
+ package_name = Google::Cloud::DiscoveryEngine
176
+ .constants
177
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
178
+ .first
179
+ service_module = Google::Cloud::DiscoveryEngine.const_get(package_name).const_get(:SearchService)
180
+ service_module = service_module.const_get(:Rest) if transport == :rest
181
+ service_module.const_get(:Client).new(&block)
182
+ end
183
+
184
+ ##
185
+ # Create a new client object for UserEventService.
186
+ #
187
+ # By default, this returns an instance of
188
+ # [Google::Cloud::DiscoveryEngine::V1::UserEventService::Client](https://cloud.google.com/ruby/docs/reference/google-cloud-discovery_engine-v1/latest/Google-Cloud-DiscoveryEngine-V1-UserEventService-Client)
189
+ # for a gRPC client for version V1 of the API.
190
+ # However, you can specify a different API version by passing it in the
191
+ # `version` parameter. If the UserEventService service is
192
+ # supported by that API version, and the corresponding gem is available, the
193
+ # appropriate versioned client will be returned.
194
+ # You can also specify a different transport by passing `:rest` or `:grpc` in
195
+ # the `transport` parameter.
196
+ #
197
+ # ## About UserEventService
198
+ #
199
+ # Service for ingesting end user actions on a website to Discovery Engine API.
200
+ #
201
+ # @param version [::String, ::Symbol] The API version to connect to. Optional.
202
+ # Defaults to `:v1`.
203
+ # @param transport [:grpc, :rest] The transport to use. Defaults to `:grpc`.
204
+ # @return [::Object] A client object for the specified version.
205
+ #
206
+ def self.user_event_service version: :v1, transport: :grpc, &block
207
+ require "google/cloud/discovery_engine/#{version.to_s.downcase}"
208
+
209
+ package_name = Google::Cloud::DiscoveryEngine
210
+ .constants
211
+ .select { |sym| sym.to_s.downcase == version.to_s.downcase.tr("_", "") }
212
+ .first
213
+ service_module = Google::Cloud::DiscoveryEngine.const_get(package_name).const_get(:UserEventService)
214
+ service_module = service_module.const_get(:Rest) if transport == :rest
215
+ service_module.const_get(:Client).new(&block)
216
+ end
217
+
218
+ ##
219
+ # Configure the google-cloud-discovery_engine library.
220
+ #
221
+ # The following configuration parameters are supported:
222
+ #
223
+ # * `credentials` (*type:* `String, Hash, Google::Auth::Credentials`) -
224
+ # The path to the keyfile as a String, the contents of the keyfile as a
225
+ # Hash, or a Google::Auth::Credentials object.
226
+ # * `lib_name` (*type:* `String`) -
227
+ # The library name as recorded in instrumentation and logging.
228
+ # * `lib_version` (*type:* `String`) -
229
+ # The library version as recorded in instrumentation and logging.
230
+ # * `interceptors` (*type:* `Array<GRPC::ClientInterceptor>`) -
231
+ # An array of interceptors that are run before calls are executed.
232
+ # * `timeout` (*type:* `Numeric`) -
233
+ # Default timeout in seconds.
234
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) -
235
+ # Additional headers to be sent with the call.
236
+ # * `retry_policy` (*type:* `Hash`) -
237
+ # The retry policy. The value is a hash with the following keys:
238
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
239
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
240
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
241
+ # * `:retry_codes` (*type:* `Array<String>`) -
242
+ # The error codes that should trigger a retry.
243
+ #
244
+ # @return [::Google::Cloud::Config] The default configuration used by this library
245
+ #
246
+ def self.configure
247
+ yield ::Google::Cloud.configure.discovery_engine if block_given?
248
+
249
+ ::Google::Cloud.configure.discovery_engine
250
+ end
251
+ end
252
+ end
253
+ end
254
+
255
+ helper_path = ::File.join __dir__, "discovery_engine", "helpers.rb"
256
+ require "google/cloud/discovery_engine/helpers" if ::File.file? helper_path
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/discovery_engine" unless defined? Google::Cloud::DiscoveryEngine::VERSION
metadata CHANGED
@@ -1,27 +1,193 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-discovery_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.a
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-09 00:00:00.000000000 Z
12
- dependencies: []
13
- description: Placeholder for the future Google-authored gem google-cloud-discovery_engine.
14
- This placeholder is being released on 2023-05-09 in order to reserve the name. The
15
- final gem should be available shortly after that date. If it has not been released
16
- in a timely manner, or if this placeholder interferes with your work, you can contact
17
- the Google Ruby team by opening an issue in the GitHub repository https://github.com/googleapis/google-cloud-ruby.
11
+ date: 2023-06-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: google-cloud-core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: google-cloud-discovery_engine-v1
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0.0'
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: 2.a
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '0.0'
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: 2.a
47
+ - !ruby/object:Gem::Dependency
48
+ name: google-cloud-discovery_engine-v1beta
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0.0'
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: 2.a
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0.0'
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: 2.a
67
+ - !ruby/object:Gem::Dependency
68
+ name: google-style
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: 1.26.1
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: 1.26.1
81
+ - !ruby/object:Gem::Dependency
82
+ name: minitest
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '5.16'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '5.16'
95
+ - !ruby/object:Gem::Dependency
96
+ name: minitest-focus
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '1.1'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '1.1'
109
+ - !ruby/object:Gem::Dependency
110
+ name: minitest-rg
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: '5.2'
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '5.2'
123
+ - !ruby/object:Gem::Dependency
124
+ name: rake
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '13.0'
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '13.0'
137
+ - !ruby/object:Gem::Dependency
138
+ name: redcarpet
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '3.0'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: '3.0'
151
+ - !ruby/object:Gem::Dependency
152
+ name: simplecov
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '0.9'
158
+ type: :development
159
+ prerelease: false
160
+ version_requirements: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - "~>"
163
+ - !ruby/object:Gem::Version
164
+ version: '0.9'
165
+ - !ruby/object:Gem::Dependency
166
+ name: yard
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '0.9'
172
+ type: :development
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '0.9'
179
+ description: Discovery Engine API.
18
180
  email: googleapis-packages@google.com
19
181
  executables: []
20
182
  extensions: []
21
183
  extra_rdoc_files: []
22
184
  files:
185
+ - ".yardopts"
186
+ - AUTHENTICATION.md
23
187
  - LICENSE.md
24
188
  - README.md
189
+ - lib/google-cloud-discovery_engine.rb
190
+ - lib/google/cloud/discovery_engine.rb
25
191
  - lib/google/cloud/discovery_engine/version.rb
26
192
  homepage: https://github.com/googleapis/google-cloud-ruby
27
193
  licenses:
@@ -35,15 +201,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
35
201
  requirements:
36
202
  - - ">="
37
203
  - !ruby/object:Gem::Version
38
- version: '3.0'
204
+ version: '2.6'
39
205
  required_rubygems_version: !ruby/object:Gem::Requirement
40
206
  requirements:
41
- - - ">"
207
+ - - ">="
42
208
  - !ruby/object:Gem::Version
43
- version: 1.3.1
209
+ version: '0'
44
210
  requirements: []
45
211
  rubygems_version: 3.4.2
46
212
  signing_key:
47
213
  specification_version: 4
48
- summary: Placeholder for the future Google-authored gem google-cloud-discovery_engine
214
+ summary: Discovery Engine API.
49
215
  test_files: []