google-cloud-optimization-v1 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []