google-cloud-optimization-v1 0.2.1 → 0.4.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