google-cloud-optimization-v1 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,184 @@
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/optimization/v1/fleet_routing_pb"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Optimization
24
+ module V1
25
+ module FleetRouting
26
+ module Rest
27
+ ##
28
+ # REST service stub for the FleetRouting service.
29
+ # Service stub contains baseline method implementations
30
+ # including transcoding, making the REST call, and deserialing the response.
31
+ #
32
+ class ServiceStub
33
+ def initialize endpoint:, credentials:
34
+ # These require statements are intentionally placed here to initialize
35
+ # the REST modules only when it's required.
36
+ require "gapic/rest"
37
+
38
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
39
+ numeric_enums: true,
40
+ raise_faraday_errors: false
41
+ end
42
+
43
+ ##
44
+ # Baseline implementation for the optimize_tours REST call
45
+ #
46
+ # @param request_pb [::Google::Cloud::Optimization::V1::OptimizeToursRequest]
47
+ # A request object representing the call parameters. Required.
48
+ # @param options [::Gapic::CallOptions]
49
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
50
+ #
51
+ # @yield [result, operation] Access the result along with the TransportOperation object
52
+ # @yieldparam result [::Google::Cloud::Optimization::V1::OptimizeToursResponse]
53
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
54
+ #
55
+ # @return [::Google::Cloud::Optimization::V1::OptimizeToursResponse]
56
+ # A result object deserialized from the server's reply
57
+ def optimize_tours request_pb, options = nil
58
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
59
+
60
+ verb, uri, query_string_params, body = ServiceStub.transcode_optimize_tours_request request_pb
61
+ query_string_params = if query_string_params.any?
62
+ query_string_params.to_h { |p| p.split("=", 2) }
63
+ else
64
+ {}
65
+ end
66
+
67
+ response = @client_stub.make_http_request(
68
+ verb,
69
+ uri: uri,
70
+ body: body || "",
71
+ params: query_string_params,
72
+ options: options
73
+ )
74
+ operation = ::Gapic::Rest::TransportOperation.new response
75
+ result = ::Google::Cloud::Optimization::V1::OptimizeToursResponse.decode_json response.body, ignore_unknown_fields: true
76
+
77
+ yield result, operation if block_given?
78
+ result
79
+ end
80
+
81
+ ##
82
+ # Baseline implementation for the batch_optimize_tours REST call
83
+ #
84
+ # @param request_pb [::Google::Cloud::Optimization::V1::BatchOptimizeToursRequest]
85
+ # A request object representing the call parameters. Required.
86
+ # @param options [::Gapic::CallOptions]
87
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
88
+ #
89
+ # @yield [result, operation] Access the result along with the TransportOperation object
90
+ # @yieldparam result [::Google::Longrunning::Operation]
91
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
92
+ #
93
+ # @return [::Google::Longrunning::Operation]
94
+ # A result object deserialized from the server's reply
95
+ def batch_optimize_tours request_pb, options = nil
96
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
97
+
98
+ verb, uri, query_string_params, body = ServiceStub.transcode_batch_optimize_tours_request request_pb
99
+ query_string_params = if query_string_params.any?
100
+ query_string_params.to_h { |p| p.split("=", 2) }
101
+ else
102
+ {}
103
+ end
104
+
105
+ response = @client_stub.make_http_request(
106
+ verb,
107
+ uri: uri,
108
+ body: body || "",
109
+ params: query_string_params,
110
+ options: options
111
+ )
112
+ operation = ::Gapic::Rest::TransportOperation.new response
113
+ result = ::Google::Longrunning::Operation.decode_json response.body, ignore_unknown_fields: true
114
+
115
+ yield result, operation if block_given?
116
+ result
117
+ end
118
+
119
+ ##
120
+ # @private
121
+ #
122
+ # GRPC transcoding helper method for the optimize_tours REST call
123
+ #
124
+ # @param request_pb [::Google::Cloud::Optimization::V1::OptimizeToursRequest]
125
+ # A request object representing the call parameters. Required.
126
+ # @return [Array(String, [String, nil], Hash{String => String})]
127
+ # Uri, Body, Query string parameters
128
+ def self.transcode_optimize_tours_request request_pb
129
+ transcoder = Gapic::Rest::GrpcTranscoder.new
130
+ .with_bindings(
131
+ uri_method: :post,
132
+ uri_template: "/v1/{parent}:optimizeTours",
133
+ body: "*",
134
+ matches: [
135
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
136
+ ]
137
+ )
138
+ .with_bindings(
139
+ uri_method: :post,
140
+ uri_template: "/v1/{parent}:optimizeTours",
141
+ body: "*",
142
+ matches: [
143
+ ["parent", %r{^projects/[^/]+/?$}, false]
144
+ ]
145
+ )
146
+ transcoder.transcode request_pb
147
+ end
148
+
149
+ ##
150
+ # @private
151
+ #
152
+ # GRPC transcoding helper method for the batch_optimize_tours REST call
153
+ #
154
+ # @param request_pb [::Google::Cloud::Optimization::V1::BatchOptimizeToursRequest]
155
+ # A request object representing the call parameters. Required.
156
+ # @return [Array(String, [String, nil], Hash{String => String})]
157
+ # Uri, Body, Query string parameters
158
+ def self.transcode_batch_optimize_tours_request request_pb
159
+ transcoder = Gapic::Rest::GrpcTranscoder.new
160
+ .with_bindings(
161
+ uri_method: :post,
162
+ uri_template: "/v1/{parent}:batchOptimizeTours",
163
+ body: "*",
164
+ matches: [
165
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
166
+ ]
167
+ )
168
+ .with_bindings(
169
+ uri_method: :post,
170
+ uri_template: "/v1/{parent}:batchOptimizeTours",
171
+ body: "*",
172
+ matches: [
173
+ ["parent", %r{^projects/[^/]+/?$}, false]
174
+ ]
175
+ )
176
+ transcoder.transcode request_pb
177
+ end
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end
183
+ end
184
+ end
@@ -0,0 +1,68 @@
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 "gapic/rest"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/optimization/v1/version"
24
+
25
+ require "google/cloud/optimization/v1/fleet_routing/credentials"
26
+ require "google/cloud/optimization/v1/fleet_routing/rest/operations"
27
+ require "google/cloud/optimization/v1/fleet_routing/rest/client"
28
+
29
+ module Google
30
+ module Cloud
31
+ module Optimization
32
+ module V1
33
+ ##
34
+ # A service for optimizing vehicle tours.
35
+ #
36
+ # Validity of certain types of fields:
37
+ #
38
+ # * `google.protobuf.Timestamp`
39
+ # * Times are in Unix time: seconds since 1970-01-01T00:00:00+00:00.
40
+ # * seconds must be in [0, 253402300799],
41
+ # i.e. in [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
42
+ # * nanos must be unset or set to 0.
43
+ # * `google.protobuf.Duration`
44
+ # * seconds must be in [0, 253402300799],
45
+ # i.e. in [1970-01-01T00:00:00+00:00, 9999-12-31T23:59:59+00:00].
46
+ # * nanos must be unset or set to 0.
47
+ # * `google.type.LatLng`
48
+ # * latitude must be in [-90.0, 90.0].
49
+ # * longitude must be in [-180.0, 180.0].
50
+ # * at least one of latitude and longitude must be non-zero.
51
+ #
52
+ # To load this service and instantiate a REST client:
53
+ #
54
+ # require "google/cloud/optimization/v1/fleet_routing/rest"
55
+ # client = ::Google::Cloud::Optimization::V1::FleetRouting::Rest::Client.new
56
+ #
57
+ module FleetRouting
58
+ # Client for the REST transport
59
+ module Rest
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
66
+
67
+ helper_path = ::File.join __dir__, "rest", "helpers.rb"
68
+ require "google/cloud/optimization/v1/fleet_routing/rest/helpers" if ::File.file? helper_path
@@ -25,6 +25,7 @@ require "google/cloud/optimization/v1/version"
25
25
  require "google/cloud/optimization/v1/fleet_routing/credentials"
26
26
  require "google/cloud/optimization/v1/fleet_routing/operations"
27
27
  require "google/cloud/optimization/v1/fleet_routing/client"
28
+ require "google/cloud/optimization/v1/fleet_routing/rest"
28
29
 
29
30
  module Google
30
31
  module Cloud
@@ -54,6 +55,11 @@ module Google
54
55
  # require "google/cloud/optimization/v1/fleet_routing"
55
56
  # client = ::Google::Cloud::Optimization::V1::FleetRouting::Client.new
56
57
  #
58
+ # @example Load this service and instantiate a REST client
59
+ #
60
+ # require "google/cloud/optimization/v1/fleet_routing/rest"
61
+ # client = ::Google::Cloud::Optimization::V1::FleetRouting::Rest::Client.new
62
+ #
57
63
  module FleetRouting
58
64
  end
59
65
  end
@@ -0,0 +1,37 @@
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/optimization/v1/fleet_routing/rest"
20
+ require "google/cloud/optimization/v1/version"
21
+
22
+ module Google
23
+ module Cloud
24
+ module Optimization
25
+ ##
26
+ # To load just the REST part of this package, including all its services, and instantiate a REST client:
27
+ #
28
+ # @example
29
+ #
30
+ # require "google/cloud/optimization/v1/rest"
31
+ # client = ::Google::Cloud::Optimization::V1::FleetRouting::Rest::Client.new
32
+ #
33
+ module V1
34
+ end
35
+ end
36
+ end
37
+ end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Optimization
23
23
  module V1
24
- VERSION = "0.2.1"
24
+ VERSION = "0.3.0"
25
25
  end
26
26
  end
27
27
  end
@@ -30,6 +30,11 @@ module Google
30
30
  # require "google/cloud/optimization/v1"
31
31
  # client = ::Google::Cloud::Optimization::V1::FleetRouting::Client.new
32
32
  #
33
+ # @example Load this package, including all its services, and instantiate a REST client
34
+ #
35
+ # require "google/cloud/optimization/v1"
36
+ # client = ::Google::Cloud::Optimization::V1::FleetRouting::Rest::Client.new
37
+ #
33
38
  module V1
34
39
  end
35
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-optimization-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.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-02-13 00:00:00.000000000 Z
11
+ date: 2023-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.16.0
19
+ version: 0.18.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.16.0
29
+ version: 0.18.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: 1.26.1
53
+ version: 1.26.3
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: 1.26.1
60
+ version: 1.26.3
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: minitest
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -177,8 +177,13 @@ files:
177
177
  - lib/google/cloud/optimization/v1/fleet_routing/client.rb
178
178
  - lib/google/cloud/optimization/v1/fleet_routing/credentials.rb
179
179
  - lib/google/cloud/optimization/v1/fleet_routing/operations.rb
180
+ - lib/google/cloud/optimization/v1/fleet_routing/rest.rb
181
+ - lib/google/cloud/optimization/v1/fleet_routing/rest/client.rb
182
+ - lib/google/cloud/optimization/v1/fleet_routing/rest/operations.rb
183
+ - lib/google/cloud/optimization/v1/fleet_routing/rest/service_stub.rb
180
184
  - lib/google/cloud/optimization/v1/fleet_routing_pb.rb
181
185
  - lib/google/cloud/optimization/v1/fleet_routing_services_pb.rb
186
+ - lib/google/cloud/optimization/v1/rest.rb
182
187
  - lib/google/cloud/optimization/v1/version.rb
183
188
  - proto_docs/README.md
184
189
  - proto_docs/google/api/client.rb
@@ -216,5 +221,6 @@ requirements: []
216
221
  rubygems_version: 3.4.2
217
222
  signing_key:
218
223
  specification_version: 4
219
- summary: API Client library for the Cloud Optimization V1 API
224
+ summary: Cloud Optimization API provides a portfolio of solvers to address common
225
+ optimization use cases starting with optimal route planning for vehicle fleets.
220
226
  test_files: []