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