google-cloud-sql-v1beta4 0.a → 0.1.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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +153 -8
  5. data/lib/google/cloud/sql/v1beta4/cloud_sql_connect_pb.rb +35 -0
  6. data/lib/google/cloud/sql/v1beta4/cloud_sql_connect_services_pb.rb +53 -0
  7. data/lib/google/cloud/sql/v1beta4/cloud_sql_data_pb.rb +35 -0
  8. data/lib/google/cloud/sql/v1beta4/cloud_sql_data_services_pb.rb +80 -0
  9. data/lib/google/cloud/sql/v1beta4/cloud_sql_iam_policies_pb.rb +23 -0
  10. data/lib/google/cloud/sql/v1beta4/cloud_sql_iam_policies_services_pb.rb +29 -0
  11. data/lib/google/cloud/sql/v1beta4/cloud_sql_pb.rb +117 -0
  12. data/lib/google/cloud/sql/v1beta4/cloud_sql_resources_pb.rb +192 -0
  13. data/lib/google/cloud/sql/v1beta4/cloud_sql_services_pb.rb +325 -0
  14. data/lib/google/cloud/sql/v1beta4/cloud_sql_tiers_pb.rb +26 -0
  15. data/lib/google/cloud/sql/v1beta4/cloud_sql_tiers_services_pb.rb +46 -0
  16. data/lib/google/cloud/sql/v1beta4/cloud_sql_users_pb.rb +40 -0
  17. data/lib/google/cloud/sql/v1beta4/cloud_sql_users_services_pb.rb +52 -0
  18. data/lib/google/cloud/sql/v1beta4/rest.rb +46 -0
  19. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service/client.rb +807 -0
  20. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service/credentials.rb +48 -0
  21. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service/rest/client.rb +718 -0
  22. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service/rest/service_stub.rb +332 -0
  23. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service/rest.rb +49 -0
  24. data/lib/google/cloud/sql/v1beta4/sql_backup_runs_service.rb +52 -0
  25. data/lib/google/cloud/sql/v1beta4/sql_backups_service/client.rb +896 -0
  26. data/lib/google/cloud/sql/v1beta4/sql_backups_service/credentials.rb +48 -0
  27. data/lib/google/cloud/sql/v1beta4/sql_backups_service/paths.rb +83 -0
  28. data/lib/google/cloud/sql/v1beta4/sql_backups_service/rest/client.rb +818 -0
  29. data/lib/google/cloud/sql/v1beta4/sql_backups_service/rest/service_stub.rb +388 -0
  30. data/lib/google/cloud/sql/v1beta4/sql_backups_service/rest.rb +50 -0
  31. data/lib/google/cloud/sql/v1beta4/sql_backups_service.rb +53 -0
  32. data/lib/google/cloud/sql/v1beta4/sql_connect_service/client.rb +705 -0
  33. data/lib/google/cloud/sql/v1beta4/sql_connect_service/credentials.rb +48 -0
  34. data/lib/google/cloud/sql/v1beta4/sql_connect_service/rest/client.rb +632 -0
  35. data/lib/google/cloud/sql/v1beta4/sql_connect_service/rest/service_stub.rb +268 -0
  36. data/lib/google/cloud/sql/v1beta4/sql_connect_service/rest.rb +51 -0
  37. data/lib/google/cloud/sql/v1beta4/sql_connect_service.rb +54 -0
  38. data/lib/google/cloud/sql/v1beta4/sql_data_service/client.rb +520 -0
  39. data/lib/google/cloud/sql/v1beta4/sql_data_service/credentials.rb +48 -0
  40. data/lib/google/cloud/sql/v1beta4/sql_data_service/paths.rb +50 -0
  41. data/lib/google/cloud/sql/v1beta4/sql_data_service.rb +49 -0
  42. data/lib/google/cloud/sql/v1beta4/sql_databases_service/client.rb +1009 -0
  43. data/lib/google/cloud/sql/v1beta4/sql_databases_service/credentials.rb +48 -0
  44. data/lib/google/cloud/sql/v1beta4/sql_databases_service/rest/client.rb +894 -0
  45. data/lib/google/cloud/sql/v1beta4/sql_databases_service/rest/service_stub.rb +460 -0
  46. data/lib/google/cloud/sql/v1beta4/sql_databases_service/rest.rb +49 -0
  47. data/lib/google/cloud/sql/v1beta4/sql_databases_service.rb +52 -0
  48. data/lib/google/cloud/sql/v1beta4/sql_flags_service/client.rb +486 -0
  49. data/lib/google/cloud/sql/v1beta4/sql_flags_service/credentials.rb +48 -0
  50. data/lib/google/cloud/sql/v1beta4/sql_flags_service/rest/client.rb +444 -0
  51. data/lib/google/cloud/sql/v1beta4/sql_flags_service/rest/service_stub.rb +140 -0
  52. data/lib/google/cloud/sql/v1beta4/sql_flags_service/rest.rb +49 -0
  53. data/lib/google/cloud/sql/v1beta4/sql_flags_service.rb +52 -0
  54. data/lib/google/cloud/sql/v1beta4/sql_instances_service/client.rb +4745 -0
  55. data/lib/google/cloud/sql/v1beta4/sql_instances_service/credentials.rb +48 -0
  56. data/lib/google/cloud/sql/v1beta4/sql_instances_service/paths.rb +159 -0
  57. data/lib/google/cloud/sql/v1beta4/sql_instances_service/rest/client.rb +4281 -0
  58. data/lib/google/cloud/sql/v1beta4/sql_instances_service/rest/service_stub.rb +2769 -0
  59. data/lib/google/cloud/sql/v1beta4/sql_instances_service/rest.rb +50 -0
  60. data/lib/google/cloud/sql/v1beta4/sql_instances_service.rb +53 -0
  61. data/lib/google/cloud/sql/v1beta4/sql_operations_service/client.rb +699 -0
  62. data/lib/google/cloud/sql/v1beta4/sql_operations_service/credentials.rb +48 -0
  63. data/lib/google/cloud/sql/v1beta4/sql_operations_service/rest/client.rb +629 -0
  64. data/lib/google/cloud/sql/v1beta4/sql_operations_service/rest/service_stub.rb +266 -0
  65. data/lib/google/cloud/sql/v1beta4/sql_operations_service/rest.rb +49 -0
  66. data/lib/google/cloud/sql/v1beta4/sql_operations_service.rb +52 -0
  67. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service/client.rb +802 -0
  68. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service/credentials.rb +48 -0
  69. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service/rest/client.rb +713 -0
  70. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service/rest/service_stub.rb +332 -0
  71. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service/rest.rb +49 -0
  72. data/lib/google/cloud/sql/v1beta4/sql_ssl_certs_service.rb +52 -0
  73. data/lib/google/cloud/sql/v1beta4/sql_tiers_service/client.rb +493 -0
  74. data/lib/google/cloud/sql/v1beta4/sql_tiers_service/credentials.rb +48 -0
  75. data/lib/google/cloud/sql/v1beta4/sql_tiers_service/rest/client.rb +443 -0
  76. data/lib/google/cloud/sql/v1beta4/sql_tiers_service/rest/service_stub.rb +142 -0
  77. data/lib/google/cloud/sql/v1beta4/sql_tiers_service/rest.rb +51 -0
  78. data/lib/google/cloud/sql/v1beta4/sql_tiers_service.rb +54 -0
  79. data/lib/google/cloud/sql/v1beta4/sql_users_service/client.rb +915 -0
  80. data/lib/google/cloud/sql/v1beta4/sql_users_service/credentials.rb +48 -0
  81. data/lib/google/cloud/sql/v1beta4/sql_users_service/rest/client.rb +819 -0
  82. data/lib/google/cloud/sql/v1beta4/sql_users_service/rest/service_stub.rb +394 -0
  83. data/lib/google/cloud/sql/v1beta4/sql_users_service/rest.rb +49 -0
  84. data/lib/google/cloud/sql/v1beta4/sql_users_service.rb +52 -0
  85. data/lib/google/cloud/sql/v1beta4/version.rb +7 -2
  86. data/lib/google/cloud/sql/v1beta4.rb +56 -0
  87. data/lib/google-cloud-sql-v1beta4.rb +21 -0
  88. data/proto_docs/README.md +4 -0
  89. data/proto_docs/google/api/client.rb +593 -0
  90. data/proto_docs/google/api/field_behavior.rb +85 -0
  91. data/proto_docs/google/api/field_info.rb +88 -0
  92. data/proto_docs/google/api/launch_stage.rb +71 -0
  93. data/proto_docs/google/api/resource.rb +227 -0
  94. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql.rb +1329 -0
  95. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql_connect.rb +207 -0
  96. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql_data.rb +189 -0
  97. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql_resources.rb +4489 -0
  98. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql_tiers.rb +68 -0
  99. data/proto_docs/google/cloud/sql/v1beta4/cloud_sql_users.rb +308 -0
  100. data/proto_docs/google/protobuf/any.rb +145 -0
  101. data/proto_docs/google/protobuf/duration.rb +98 -0
  102. data/proto_docs/google/protobuf/empty.rb +34 -0
  103. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  104. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  105. data/proto_docs/google/protobuf/wrappers.rb +148 -0
  106. data/proto_docs/google/rpc/status.rb +48 -0
  107. data/proto_docs/google/type/interval.rb +45 -0
  108. metadata +153 -9
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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 "googleauth"
20
+
21
+ module Google
22
+ module Cloud
23
+ module Sql
24
+ module V1beta4
25
+ module SqlConnectService
26
+ # Credentials for the SqlConnectService API.
27
+ class Credentials < ::Google::Auth::Credentials
28
+ self.scope = [
29
+ "https://www.googleapis.com/auth/cloud-platform",
30
+ "https://www.googleapis.com/auth/sqlservice.admin"
31
+ ]
32
+ self.env_vars = [
33
+ "GOOGLE_CLOUD_CREDENTIALS",
34
+ "GOOGLE_CLOUD_KEYFILE",
35
+ "GCLOUD_KEYFILE",
36
+ "GOOGLE_CLOUD_CREDENTIALS_JSON",
37
+ "GOOGLE_CLOUD_KEYFILE_JSON",
38
+ "GCLOUD_KEYFILE_JSON"
39
+ ]
40
+ self.paths = [
41
+ "~/.config/google_cloud/application_default_credentials.json"
42
+ ]
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,632 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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/errors"
20
+ require "google/cloud/sql/v1beta4/cloud_sql_connect_pb"
21
+ require "google/cloud/sql/v1beta4/sql_connect_service/rest/service_stub"
22
+ require "google/cloud/location/rest"
23
+
24
+ module Google
25
+ module Cloud
26
+ module Sql
27
+ module V1beta4
28
+ module SqlConnectService
29
+ module Rest
30
+ ##
31
+ # REST client for the SqlConnectService service.
32
+ #
33
+ # Cloud SQL connect service.
34
+ #
35
+ class Client
36
+ # @private
37
+ API_VERSION = ""
38
+
39
+ # @private
40
+ DEFAULT_ENDPOINT_TEMPLATE = "sqladmin.$UNIVERSE_DOMAIN$"
41
+
42
+ # @private
43
+ attr_reader :sql_connect_service_stub
44
+
45
+ ##
46
+ # Configure the SqlConnectService Client class.
47
+ #
48
+ # See {::Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::Client::Configuration}
49
+ # for a description of the configuration fields.
50
+ #
51
+ # @example
52
+ #
53
+ # # Modify the configuration for all SqlConnectService clients
54
+ # ::Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::Client.configure do |config|
55
+ # config.timeout = 10.0
56
+ # end
57
+ #
58
+ # @yield [config] Configure the Client client.
59
+ # @yieldparam config [Client::Configuration]
60
+ #
61
+ # @return [Client::Configuration]
62
+ #
63
+ def self.configure
64
+ @configure ||= begin
65
+ namespace = ["Google", "Cloud", "Sql", "V1beta4"]
66
+ parent_config = while namespace.any?
67
+ parent_name = namespace.join "::"
68
+ parent_const = const_get parent_name
69
+ break parent_const.configure if parent_const.respond_to? :configure
70
+ namespace.pop
71
+ end
72
+ default_config = Client::Configuration.new parent_config
73
+
74
+ default_config
75
+ end
76
+ yield @configure if block_given?
77
+ @configure
78
+ end
79
+
80
+ ##
81
+ # Configure the SqlConnectService Client instance.
82
+ #
83
+ # The configuration is set to the derived mode, meaning that values can be changed,
84
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
85
+ # should be made on {Client.configure}.
86
+ #
87
+ # See {::Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::Client::Configuration}
88
+ # for a description of the configuration fields.
89
+ #
90
+ # @yield [config] Configure the Client client.
91
+ # @yieldparam config [Client::Configuration]
92
+ #
93
+ # @return [Client::Configuration]
94
+ #
95
+ def configure
96
+ yield @config if block_given?
97
+ @config
98
+ end
99
+
100
+ ##
101
+ # The effective universe domain
102
+ #
103
+ # @return [String]
104
+ #
105
+ def universe_domain
106
+ @sql_connect_service_stub.universe_domain
107
+ end
108
+
109
+ ##
110
+ # Create a new SqlConnectService REST client object.
111
+ #
112
+ # @example
113
+ #
114
+ # # Create a client using the default configuration
115
+ # client = ::Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::Client.new
116
+ #
117
+ # # Create a client using a custom configuration
118
+ # client = ::Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::Client.new do |config|
119
+ # config.timeout = 10.0
120
+ # end
121
+ #
122
+ # @yield [config] Configure the SqlConnectService client.
123
+ # @yieldparam config [Client::Configuration]
124
+ #
125
+ def initialize
126
+ # Create the configuration object
127
+ @config = Configuration.new Client.configure
128
+
129
+ # Yield the configuration if needed
130
+ yield @config if block_given?
131
+
132
+ # Create credentials
133
+ credentials = @config.credentials
134
+ # Use self-signed JWT if the endpoint is unchanged from default,
135
+ # but only if the default endpoint does not have a region prefix.
136
+ enable_self_signed_jwt = @config.endpoint.nil? ||
137
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
138
+ !@config.endpoint.split(".").first.include?("-"))
139
+ credentials ||= Credentials.default scope: @config.scope,
140
+ enable_self_signed_jwt: enable_self_signed_jwt
141
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
142
+ credentials = Credentials.new credentials, scope: @config.scope
143
+ end
144
+
145
+ @quota_project_id = @config.quota_project
146
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
147
+
148
+ @sql_connect_service_stub = ::Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::ServiceStub.new(
149
+ endpoint: @config.endpoint,
150
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
151
+ universe_domain: @config.universe_domain,
152
+ credentials: credentials,
153
+ logger: @config.logger
154
+ )
155
+
156
+ @sql_connect_service_stub.logger(stub: true)&.info do |entry|
157
+ entry.set_system_name
158
+ entry.set_service
159
+ entry.message = "Created client for #{entry.service}"
160
+ entry.set_credentials_fields credentials
161
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
162
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
163
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
164
+ end
165
+
166
+ @location_client = Google::Cloud::Location::Locations::Rest::Client.new do |config|
167
+ config.credentials = credentials
168
+ config.quota_project = @quota_project_id
169
+ config.endpoint = @sql_connect_service_stub.endpoint
170
+ config.universe_domain = @sql_connect_service_stub.universe_domain
171
+ config.logger = @sql_connect_service_stub.logger if config.respond_to? :logger=
172
+ end
173
+ end
174
+
175
+ ##
176
+ # Get the associated client for mix-in of the Locations.
177
+ #
178
+ # @return [Google::Cloud::Location::Locations::Rest::Client]
179
+ #
180
+ attr_reader :location_client
181
+
182
+ ##
183
+ # The logger used for request/response debug logging.
184
+ #
185
+ # @return [Logger]
186
+ #
187
+ def logger
188
+ @sql_connect_service_stub.logger
189
+ end
190
+
191
+ # Service calls
192
+
193
+ ##
194
+ # Retrieves connect settings about a Cloud SQL instance.
195
+ #
196
+ # @overload get_connect_settings(request, options = nil)
197
+ # Pass arguments to `get_connect_settings` via a request object, either of type
198
+ # {::Google::Cloud::Sql::V1beta4::GetConnectSettingsRequest} or an equivalent Hash.
199
+ #
200
+ # @param request [::Google::Cloud::Sql::V1beta4::GetConnectSettingsRequest, ::Hash]
201
+ # A request object representing the call parameters. Required. To specify no
202
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
203
+ # @param options [::Gapic::CallOptions, ::Hash]
204
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
205
+ #
206
+ # @overload get_connect_settings(instance: nil, project: nil, read_time: nil)
207
+ # Pass arguments to `get_connect_settings` via keyword arguments. Note that at
208
+ # least one keyword argument is required. To specify no parameters, or to keep all
209
+ # the default parameter values, pass an empty Hash as a request object (see above).
210
+ #
211
+ # @param instance [::String]
212
+ # Cloud SQL instance ID. This does not include the project ID.
213
+ # @param project [::String]
214
+ # Project ID of the project that contains the instance.
215
+ # @param read_time [::Google::Protobuf::Timestamp, ::Hash]
216
+ # Optional. Optional snapshot read timestamp to trade freshness for
217
+ # performance.
218
+ # @yield [result, operation] Access the result along with the TransportOperation object
219
+ # @yieldparam result [::Google::Cloud::Sql::V1beta4::ConnectSettings]
220
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
221
+ #
222
+ # @return [::Google::Cloud::Sql::V1beta4::ConnectSettings]
223
+ #
224
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
225
+ #
226
+ # @example Basic example
227
+ # require "google/cloud/sql/v1beta4"
228
+ #
229
+ # # Create a client object. The client can be reused for multiple calls.
230
+ # client = Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::Client.new
231
+ #
232
+ # # Create a request. To set request fields, pass in keyword arguments.
233
+ # request = Google::Cloud::Sql::V1beta4::GetConnectSettingsRequest.new
234
+ #
235
+ # # Call the get_connect_settings method.
236
+ # result = client.get_connect_settings request
237
+ #
238
+ # # The returned object is of type Google::Cloud::Sql::V1beta4::ConnectSettings.
239
+ # p result
240
+ #
241
+ def get_connect_settings request, options = nil
242
+ raise ::ArgumentError, "request must be provided" if request.nil?
243
+
244
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Sql::V1beta4::GetConnectSettingsRequest
245
+
246
+ # Converts hash and nil to an options object
247
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
248
+
249
+ # Customize the options with defaults
250
+ call_metadata = @config.rpcs.get_connect_settings.metadata.to_h
251
+
252
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
253
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
254
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
255
+ gapic_version: ::Google::Cloud::Sql::V1beta4::VERSION,
256
+ transports_version_send: [:rest]
257
+
258
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
259
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
260
+
261
+ options.apply_defaults timeout: @config.rpcs.get_connect_settings.timeout,
262
+ metadata: call_metadata,
263
+ retry_policy: @config.rpcs.get_connect_settings.retry_policy
264
+
265
+ options.apply_defaults timeout: @config.timeout,
266
+ metadata: @config.metadata,
267
+ retry_policy: @config.retry_policy
268
+
269
+ @sql_connect_service_stub.get_connect_settings request, options do |result, operation|
270
+ yield result, operation if block_given?
271
+ end
272
+ rescue ::Gapic::Rest::Error => e
273
+ raise ::Google::Cloud::Error.from_error(e)
274
+ end
275
+
276
+ ##
277
+ # Retrieves connect settings about a Cloud SQL instance using the instance
278
+ # DNS name.
279
+ #
280
+ # @overload resolve_connect_settings(request, options = nil)
281
+ # Pass arguments to `resolve_connect_settings` via a request object, either of type
282
+ # {::Google::Cloud::Sql::V1beta4::ResolveConnectSettingsRequest} or an equivalent Hash.
283
+ #
284
+ # @param request [::Google::Cloud::Sql::V1beta4::ResolveConnectSettingsRequest, ::Hash]
285
+ # A request object representing the call parameters. Required. To specify no
286
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
287
+ # @param options [::Gapic::CallOptions, ::Hash]
288
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
289
+ #
290
+ # @overload resolve_connect_settings(dns_name: nil, location: nil)
291
+ # Pass arguments to `resolve_connect_settings` via keyword arguments. Note that at
292
+ # least one keyword argument is required. To specify no parameters, or to keep all
293
+ # the default parameter values, pass an empty Hash as a request object (see above).
294
+ #
295
+ # @param dns_name [::String]
296
+ # Required. Cloud SQL instance ID. This does not include the project ID.
297
+ # @param location [::String]
298
+ # Required. The region of the instance.
299
+ # @yield [result, operation] Access the result along with the TransportOperation object
300
+ # @yieldparam result [::Google::Cloud::Sql::V1beta4::ConnectSettings]
301
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
302
+ #
303
+ # @return [::Google::Cloud::Sql::V1beta4::ConnectSettings]
304
+ #
305
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
306
+ #
307
+ # @example Basic example
308
+ # require "google/cloud/sql/v1beta4"
309
+ #
310
+ # # Create a client object. The client can be reused for multiple calls.
311
+ # client = Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::Client.new
312
+ #
313
+ # # Create a request. To set request fields, pass in keyword arguments.
314
+ # request = Google::Cloud::Sql::V1beta4::ResolveConnectSettingsRequest.new
315
+ #
316
+ # # Call the resolve_connect_settings method.
317
+ # result = client.resolve_connect_settings request
318
+ #
319
+ # # The returned object is of type Google::Cloud::Sql::V1beta4::ConnectSettings.
320
+ # p result
321
+ #
322
+ def resolve_connect_settings request, options = nil
323
+ raise ::ArgumentError, "request must be provided" if request.nil?
324
+
325
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Sql::V1beta4::ResolveConnectSettingsRequest
326
+
327
+ # Converts hash and nil to an options object
328
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
329
+
330
+ # Customize the options with defaults
331
+ call_metadata = @config.rpcs.resolve_connect_settings.metadata.to_h
332
+
333
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
334
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
335
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
336
+ gapic_version: ::Google::Cloud::Sql::V1beta4::VERSION,
337
+ transports_version_send: [:rest]
338
+
339
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
340
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
341
+
342
+ options.apply_defaults timeout: @config.rpcs.resolve_connect_settings.timeout,
343
+ metadata: call_metadata,
344
+ retry_policy: @config.rpcs.resolve_connect_settings.retry_policy
345
+
346
+ options.apply_defaults timeout: @config.timeout,
347
+ metadata: @config.metadata,
348
+ retry_policy: @config.retry_policy
349
+
350
+ @sql_connect_service_stub.resolve_connect_settings request, options do |result, operation|
351
+ yield result, operation if block_given?
352
+ end
353
+ rescue ::Gapic::Rest::Error => e
354
+ raise ::Google::Cloud::Error.from_error(e)
355
+ end
356
+
357
+ ##
358
+ # Generates a short-lived X509 certificate containing the provided public key
359
+ # and signed by a private key specific to the target instance. Users may use
360
+ # the certificate to authenticate as themselves when connecting to the
361
+ # database.
362
+ #
363
+ # @overload generate_ephemeral_cert(request, options = nil)
364
+ # Pass arguments to `generate_ephemeral_cert` via a request object, either of type
365
+ # {::Google::Cloud::Sql::V1beta4::GenerateEphemeralCertRequest} or an equivalent Hash.
366
+ #
367
+ # @param request [::Google::Cloud::Sql::V1beta4::GenerateEphemeralCertRequest, ::Hash]
368
+ # A request object representing the call parameters. Required. To specify no
369
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
370
+ # @param options [::Gapic::CallOptions, ::Hash]
371
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
372
+ #
373
+ # @overload generate_ephemeral_cert(instance: nil, project: nil, public_key: nil, access_token: nil, read_time: nil, valid_duration: nil)
374
+ # Pass arguments to `generate_ephemeral_cert` via keyword arguments. Note that at
375
+ # least one keyword argument is required. To specify no parameters, or to keep all
376
+ # the default parameter values, pass an empty Hash as a request object (see above).
377
+ #
378
+ # @param instance [::String]
379
+ # Cloud SQL instance ID. This does not include the project ID.
380
+ # @param project [::String]
381
+ # Project ID of the project that contains the instance.
382
+ # @param public_key [::String]
383
+ # PEM encoded public key to include in the signed certificate.
384
+ # @param access_token [::String]
385
+ # Optional. Access token to include in the signed certificate.
386
+ # @param read_time [::Google::Protobuf::Timestamp, ::Hash]
387
+ # Optional. Optional snapshot read timestamp to trade freshness for
388
+ # performance.
389
+ # @param valid_duration [::Google::Protobuf::Duration, ::Hash]
390
+ # Optional. If set, it will contain the cert valid duration.
391
+ # @yield [result, operation] Access the result along with the TransportOperation object
392
+ # @yieldparam result [::Google::Cloud::Sql::V1beta4::GenerateEphemeralCertResponse]
393
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
394
+ #
395
+ # @return [::Google::Cloud::Sql::V1beta4::GenerateEphemeralCertResponse]
396
+ #
397
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
398
+ #
399
+ # @example Basic example
400
+ # require "google/cloud/sql/v1beta4"
401
+ #
402
+ # # Create a client object. The client can be reused for multiple calls.
403
+ # client = Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::Client.new
404
+ #
405
+ # # Create a request. To set request fields, pass in keyword arguments.
406
+ # request = Google::Cloud::Sql::V1beta4::GenerateEphemeralCertRequest.new
407
+ #
408
+ # # Call the generate_ephemeral_cert method.
409
+ # result = client.generate_ephemeral_cert request
410
+ #
411
+ # # The returned object is of type Google::Cloud::Sql::V1beta4::GenerateEphemeralCertResponse.
412
+ # p result
413
+ #
414
+ def generate_ephemeral_cert request, options = nil
415
+ raise ::ArgumentError, "request must be provided" if request.nil?
416
+
417
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Sql::V1beta4::GenerateEphemeralCertRequest
418
+
419
+ # Converts hash and nil to an options object
420
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
421
+
422
+ # Customize the options with defaults
423
+ call_metadata = @config.rpcs.generate_ephemeral_cert.metadata.to_h
424
+
425
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
426
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
427
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
428
+ gapic_version: ::Google::Cloud::Sql::V1beta4::VERSION,
429
+ transports_version_send: [:rest]
430
+
431
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
432
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
433
+
434
+ options.apply_defaults timeout: @config.rpcs.generate_ephemeral_cert.timeout,
435
+ metadata: call_metadata,
436
+ retry_policy: @config.rpcs.generate_ephemeral_cert.retry_policy
437
+
438
+ options.apply_defaults timeout: @config.timeout,
439
+ metadata: @config.metadata,
440
+ retry_policy: @config.retry_policy
441
+
442
+ @sql_connect_service_stub.generate_ephemeral_cert request, options do |result, operation|
443
+ yield result, operation if block_given?
444
+ end
445
+ rescue ::Gapic::Rest::Error => e
446
+ raise ::Google::Cloud::Error.from_error(e)
447
+ end
448
+
449
+ ##
450
+ # Configuration class for the SqlConnectService REST API.
451
+ #
452
+ # This class represents the configuration for SqlConnectService REST,
453
+ # providing control over timeouts, retry behavior, logging, transport
454
+ # parameters, and other low-level controls. Certain parameters can also be
455
+ # applied individually to specific RPCs. See
456
+ # {::Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::Client::Configuration::Rpcs}
457
+ # for a list of RPCs that can be configured independently.
458
+ #
459
+ # Configuration can be applied globally to all clients, or to a single client
460
+ # on construction.
461
+ #
462
+ # @example
463
+ #
464
+ # # Modify the global config, setting the timeout for
465
+ # # get_connect_settings to 20 seconds,
466
+ # # and all remaining timeouts to 10 seconds.
467
+ # ::Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::Client.configure do |config|
468
+ # config.timeout = 10.0
469
+ # config.rpcs.get_connect_settings.timeout = 20.0
470
+ # end
471
+ #
472
+ # # Apply the above configuration only to a new client.
473
+ # client = ::Google::Cloud::Sql::V1beta4::SqlConnectService::Rest::Client.new do |config|
474
+ # config.timeout = 10.0
475
+ # config.rpcs.get_connect_settings.timeout = 20.0
476
+ # end
477
+ #
478
+ # @!attribute [rw] endpoint
479
+ # A custom service endpoint, as a hostname or hostname:port. The default is
480
+ # nil, indicating to use the default endpoint in the current universe domain.
481
+ # @return [::String,nil]
482
+ # @!attribute [rw] credentials
483
+ # Credentials to send with calls. You may provide any of the following types:
484
+ # * (`String`) The path to a service account key file in JSON format
485
+ # * (`Hash`) A service account key as a Hash
486
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
487
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
488
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
489
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
490
+ # * (`nil`) indicating no credentials
491
+ #
492
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
493
+ # external source for authentication to Google Cloud, you must validate it before
494
+ # providing it to a Google API client library. Providing an unvalidated credential
495
+ # configuration to Google APIs can compromise the security of your systems and data.
496
+ # For more information, refer to [Validate credential configurations from external
497
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
498
+ # @return [::Object]
499
+ # @!attribute [rw] scope
500
+ # The OAuth scopes
501
+ # @return [::Array<::String>]
502
+ # @!attribute [rw] lib_name
503
+ # The library name as recorded in instrumentation and logging
504
+ # @return [::String]
505
+ # @!attribute [rw] lib_version
506
+ # The library version as recorded in instrumentation and logging
507
+ # @return [::String]
508
+ # @!attribute [rw] timeout
509
+ # The call timeout in seconds.
510
+ # @return [::Numeric]
511
+ # @!attribute [rw] metadata
512
+ # Additional headers to be sent with the call.
513
+ # @return [::Hash{::Symbol=>::String}]
514
+ # @!attribute [rw] retry_policy
515
+ # The retry policy. The value is a hash with the following keys:
516
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
517
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
518
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
519
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
520
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
521
+ # trigger a retry.
522
+ # @return [::Hash]
523
+ # @!attribute [rw] quota_project
524
+ # A separate project against which to charge quota.
525
+ # @return [::String]
526
+ # @!attribute [rw] universe_domain
527
+ # The universe domain within which to make requests. This determines the
528
+ # default endpoint URL. The default value of nil uses the environment
529
+ # universe (usually the default "googleapis.com" universe).
530
+ # @return [::String,nil]
531
+ # @!attribute [rw] logger
532
+ # A custom logger to use for request/response debug logging, or the value
533
+ # `:default` (the default) to construct a default logger, or `nil` to
534
+ # explicitly disable logging.
535
+ # @return [::Logger,:default,nil]
536
+ #
537
+ class Configuration
538
+ extend ::Gapic::Config
539
+
540
+ # @private
541
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
542
+ DEFAULT_ENDPOINT = "sqladmin.googleapis.com"
543
+
544
+ config_attr :endpoint, nil, ::String, nil
545
+ config_attr :credentials, nil do |value|
546
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Google::Auth::BaseClient, ::Signet::OAuth2::Client, nil]
547
+ allowed.any? { |klass| klass === value }
548
+ end
549
+ config_attr :scope, nil, ::String, ::Array, nil
550
+ config_attr :lib_name, nil, ::String, nil
551
+ config_attr :lib_version, nil, ::String, nil
552
+ config_attr :timeout, nil, ::Numeric, nil
553
+ config_attr :metadata, nil, ::Hash, nil
554
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
555
+ config_attr :quota_project, nil, ::String, nil
556
+ config_attr :universe_domain, nil, ::String, nil
557
+ config_attr :logger, :default, ::Logger, nil, :default
558
+
559
+ # @private
560
+ def initialize parent_config = nil
561
+ @parent_config = parent_config unless parent_config.nil?
562
+
563
+ yield self if block_given?
564
+ end
565
+
566
+ ##
567
+ # Configurations for individual RPCs
568
+ # @return [Rpcs]
569
+ #
570
+ def rpcs
571
+ @rpcs ||= begin
572
+ parent_rpcs = nil
573
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
574
+ Rpcs.new parent_rpcs
575
+ end
576
+ end
577
+
578
+ ##
579
+ # Configuration RPC class for the SqlConnectService API.
580
+ #
581
+ # Includes fields providing the configuration for each RPC in this service.
582
+ # Each configuration object is of type `Gapic::Config::Method` and includes
583
+ # the following configuration fields:
584
+ #
585
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
586
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional headers
587
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
588
+ # include the following keys:
589
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
590
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
591
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
592
+ # * `:jitter` (*type:* `Numeric`) - The jitter in seconds. Default: 1.0.
593
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
594
+ # trigger a retry.
595
+ #
596
+ class Rpcs
597
+ ##
598
+ # RPC-specific configuration for `get_connect_settings`
599
+ # @return [::Gapic::Config::Method]
600
+ #
601
+ attr_reader :get_connect_settings
602
+ ##
603
+ # RPC-specific configuration for `resolve_connect_settings`
604
+ # @return [::Gapic::Config::Method]
605
+ #
606
+ attr_reader :resolve_connect_settings
607
+ ##
608
+ # RPC-specific configuration for `generate_ephemeral_cert`
609
+ # @return [::Gapic::Config::Method]
610
+ #
611
+ attr_reader :generate_ephemeral_cert
612
+
613
+ # @private
614
+ def initialize parent_rpcs = nil
615
+ get_connect_settings_config = parent_rpcs.get_connect_settings if parent_rpcs.respond_to? :get_connect_settings
616
+ @get_connect_settings = ::Gapic::Config::Method.new get_connect_settings_config
617
+ resolve_connect_settings_config = parent_rpcs.resolve_connect_settings if parent_rpcs.respond_to? :resolve_connect_settings
618
+ @resolve_connect_settings = ::Gapic::Config::Method.new resolve_connect_settings_config
619
+ generate_ephemeral_cert_config = parent_rpcs.generate_ephemeral_cert if parent_rpcs.respond_to? :generate_ephemeral_cert
620
+ @generate_ephemeral_cert = ::Gapic::Config::Method.new generate_ephemeral_cert_config
621
+
622
+ yield self if block_given?
623
+ end
624
+ end
625
+ end
626
+ end
627
+ end
628
+ end
629
+ end
630
+ end
631
+ end
632
+ end