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