google-cloud-spanner-admin-database-v1 1.3.0 → 1.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8078024f318113ba800feb1bfc70266f9ed0f4640fdfc215ed5f235a725ceb00
4
- data.tar.gz: f4415cad221d99bc1e911e947b2963e6dd2e13cd51502acf3f7491c89b6ffdfd
3
+ metadata.gz: e655704595f4637ac85fc228a7f2cc31670dcff717df4c4c12ce56f6fb05c90a
4
+ data.tar.gz: 2bdda07f959871c298e8b3c851204fb9be607aee5493cc3cd48e1675bf149906
5
5
  SHA512:
6
- metadata.gz: 0d10c204d73117ed4f73a7a166aa87ae22f8d2c253a7c5766048e7cb48dd0ae5a7d593f8b74c5e4fb62400a9524fd46ac7a03ffbe55bf25b731d83846677194c
7
- data.tar.gz: b5c07d1b0149c3b639a8bbd85f7abebd7b37157c2062d837dc5cb8c528e5fd5e0f7bbf683e72a3fab56736d71b08a6b43a86d7f9222ca57f544c528cdec577be
6
+ metadata.gz: 93115268748135734530be5218d5a19358f9e87e5cb6019700f937fe14788a3ce4ce57217c2790b10687e4dad746224c7e64a13929f15abbb8cd584b5dac9de6
7
+ data.tar.gz: 76defb282d45726992c95752d72f59bdafc4e0e9bff5911916f25093cd31f4f30f7c331e0d512b35232a8c81a791cbe24da70da2082dd4c3e63112b98d95f8b7
data/README.md CHANGED
@@ -85,7 +85,7 @@ To browse ready to use code samples check [Google Cloud Samples](https://cloud.g
85
85
 
86
86
  ## Supported Ruby Versions
87
87
 
88
- This library is supported on Ruby 2.7+.
88
+ This library is supported on Ruby 3.0+.
89
89
 
90
90
  Google provides official support for Ruby versions that are actively supported
91
91
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
@@ -160,6 +160,11 @@ module Google
160
160
  initial_delay: 1.0, max_delay: 32.0, multiplier: 1.3, retry_codes: [14, 4]
161
161
  }
162
162
 
163
+ default_config.rpcs.add_split_points.timeout = 3600.0
164
+ default_config.rpcs.add_split_points.retry_policy = {
165
+ initial_delay: 1.0, max_delay: 32.0, multiplier: 1.3, retry_codes: [14, 4]
166
+ }
167
+
163
168
  default_config.rpcs.create_backup_schedule.timeout = 3600.0
164
169
  default_config.rpcs.create_backup_schedule.retry_policy = {
165
170
  initial_delay: 1.0, max_delay: 32.0, multiplier: 1.3, retry_codes: [14, 4]
@@ -2618,6 +2623,101 @@ module Google
2618
2623
  raise ::Google::Cloud::Error.from_error(e)
2619
2624
  end
2620
2625
 
2626
+ ##
2627
+ # Adds split points to specified tables, indexes of a database.
2628
+ #
2629
+ # @overload add_split_points(request, options = nil)
2630
+ # Pass arguments to `add_split_points` via a request object, either of type
2631
+ # {::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsRequest} or an equivalent Hash.
2632
+ #
2633
+ # @param request [::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsRequest, ::Hash]
2634
+ # A request object representing the call parameters. Required. To specify no
2635
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2636
+ # @param options [::Gapic::CallOptions, ::Hash]
2637
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
2638
+ #
2639
+ # @overload add_split_points(database: nil, split_points: nil, initiator: nil)
2640
+ # Pass arguments to `add_split_points` via keyword arguments. Note that at
2641
+ # least one keyword argument is required. To specify no parameters, or to keep all
2642
+ # the default parameter values, pass an empty Hash as a request object (see above).
2643
+ #
2644
+ # @param database [::String]
2645
+ # Required. The database on whose tables/indexes split points are to be
2646
+ # added. Values are of the form
2647
+ # `projects/<project>/instances/<instance>/databases/<database>`.
2648
+ # @param split_points [::Array<::Google::Cloud::Spanner::Admin::Database::V1::SplitPoints, ::Hash>]
2649
+ # Required. The split points to add.
2650
+ # @param initiator [::String]
2651
+ # Optional. A user-supplied tag associated with the split points.
2652
+ # For example, "intital_data_load", "special_event_1".
2653
+ # Defaults to "CloudAddSplitPointsAPI" if not specified.
2654
+ # The length of the tag must not exceed 50 characters,else will be trimmed.
2655
+ # Only valid UTF8 characters are allowed.
2656
+ #
2657
+ # @yield [response, operation] Access the result along with the RPC operation
2658
+ # @yieldparam response [::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsResponse]
2659
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
2660
+ #
2661
+ # @return [::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsResponse]
2662
+ #
2663
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
2664
+ #
2665
+ # @example Basic example
2666
+ # require "google/cloud/spanner/admin/database/v1"
2667
+ #
2668
+ # # Create a client object. The client can be reused for multiple calls.
2669
+ # client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client.new
2670
+ #
2671
+ # # Create a request. To set request fields, pass in keyword arguments.
2672
+ # request = Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsRequest.new
2673
+ #
2674
+ # # Call the add_split_points method.
2675
+ # result = client.add_split_points request
2676
+ #
2677
+ # # The returned object is of type Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsResponse.
2678
+ # p result
2679
+ #
2680
+ def add_split_points request, options = nil
2681
+ raise ::ArgumentError, "request must be provided" if request.nil?
2682
+
2683
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsRequest
2684
+
2685
+ # Converts hash and nil to an options object
2686
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2687
+
2688
+ # Customize the options with defaults
2689
+ metadata = @config.rpcs.add_split_points.metadata.to_h
2690
+
2691
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2692
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2693
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2694
+ gapic_version: ::Google::Cloud::Spanner::Admin::Database::V1::VERSION
2695
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2696
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2697
+
2698
+ header_params = {}
2699
+ if request.database
2700
+ header_params["database"] = request.database
2701
+ end
2702
+
2703
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
2704
+ metadata[:"x-goog-request-params"] ||= request_params_header
2705
+
2706
+ options.apply_defaults timeout: @config.rpcs.add_split_points.timeout,
2707
+ metadata: metadata,
2708
+ retry_policy: @config.rpcs.add_split_points.retry_policy
2709
+
2710
+ options.apply_defaults timeout: @config.timeout,
2711
+ metadata: @config.metadata,
2712
+ retry_policy: @config.retry_policy
2713
+
2714
+ @database_admin_stub.call_rpc :add_split_points, request, options: options do |response, operation|
2715
+ yield response, operation if block_given?
2716
+ end
2717
+ rescue ::GRPC::BadStatus => e
2718
+ raise ::Google::Cloud::Error.from_error(e)
2719
+ end
2720
+
2621
2721
  ##
2622
2722
  # Creates a new backup schedule.
2623
2723
  #
@@ -3122,6 +3222,13 @@ module Google
3122
3222
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
3123
3223
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
3124
3224
  # * (`nil`) indicating no credentials
3225
+ #
3226
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
3227
+ # external source for authentication to Google Cloud, you must validate it before
3228
+ # providing it to a Google API client library. Providing an unvalidated credential
3229
+ # configuration to Google APIs can compromise the security of your systems and data.
3230
+ # For more information, refer to [Validate credential configurations from external
3231
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
3125
3232
  # @return [::Object]
3126
3233
  # @!attribute [rw] scope
3127
3234
  # The OAuth scopes
@@ -3338,6 +3445,11 @@ module Google
3338
3445
  #
3339
3446
  attr_reader :list_database_roles
3340
3447
  ##
3448
+ # RPC-specific configuration for `add_split_points`
3449
+ # @return [::Gapic::Config::Method]
3450
+ #
3451
+ attr_reader :add_split_points
3452
+ ##
3341
3453
  # RPC-specific configuration for `create_backup_schedule`
3342
3454
  # @return [::Gapic::Config::Method]
3343
3455
  #
@@ -3405,6 +3517,8 @@ module Google
3405
3517
  @list_backup_operations = ::Gapic::Config::Method.new list_backup_operations_config
3406
3518
  list_database_roles_config = parent_rpcs.list_database_roles if parent_rpcs.respond_to? :list_database_roles
3407
3519
  @list_database_roles = ::Gapic::Config::Method.new list_database_roles_config
3520
+ add_split_points_config = parent_rpcs.add_split_points if parent_rpcs.respond_to? :add_split_points
3521
+ @add_split_points = ::Gapic::Config::Method.new add_split_points_config
3408
3522
  create_backup_schedule_config = parent_rpcs.create_backup_schedule if parent_rpcs.respond_to? :create_backup_schedule
3409
3523
  @create_backup_schedule = ::Gapic::Config::Method.new create_backup_schedule_config
3410
3524
  get_backup_schedule_config = parent_rpcs.get_backup_schedule if parent_rpcs.respond_to? :get_backup_schedule
@@ -642,6 +642,13 @@ module Google
642
642
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
643
643
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
644
644
  # * (`nil`) indicating no credentials
645
+ #
646
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
647
+ # external source for authentication to Google Cloud, you must validate it before
648
+ # providing it to a Google API client library. Providing an unvalidated credential
649
+ # configuration to Google APIs can compromise the security of your systems and data.
650
+ # For more information, refer to [Validate credential configurations from external
651
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
645
652
  # @return [::Object]
646
653
  # @!attribute [rw] scope
647
654
  # The OAuth scopes
@@ -162,6 +162,11 @@ module Google
162
162
  initial_delay: 1.0, max_delay: 32.0, multiplier: 1.3, retry_codes: [14, 4]
163
163
  }
164
164
 
165
+ default_config.rpcs.add_split_points.timeout = 3600.0
166
+ default_config.rpcs.add_split_points.retry_policy = {
167
+ initial_delay: 1.0, max_delay: 32.0, multiplier: 1.3, retry_codes: [14, 4]
168
+ }
169
+
165
170
  default_config.rpcs.create_backup_schedule.timeout = 3600.0
166
171
  default_config.rpcs.create_backup_schedule.retry_policy = {
167
172
  initial_delay: 1.0, max_delay: 32.0, multiplier: 1.3, retry_codes: [14, 4]
@@ -2469,6 +2474,94 @@ module Google
2469
2474
  raise ::Google::Cloud::Error.from_error(e)
2470
2475
  end
2471
2476
 
2477
+ ##
2478
+ # Adds split points to specified tables, indexes of a database.
2479
+ #
2480
+ # @overload add_split_points(request, options = nil)
2481
+ # Pass arguments to `add_split_points` via a request object, either of type
2482
+ # {::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsRequest} or an equivalent Hash.
2483
+ #
2484
+ # @param request [::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsRequest, ::Hash]
2485
+ # A request object representing the call parameters. Required. To specify no
2486
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
2487
+ # @param options [::Gapic::CallOptions, ::Hash]
2488
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
2489
+ #
2490
+ # @overload add_split_points(database: nil, split_points: nil, initiator: nil)
2491
+ # Pass arguments to `add_split_points` via keyword arguments. Note that at
2492
+ # least one keyword argument is required. To specify no parameters, or to keep all
2493
+ # the default parameter values, pass an empty Hash as a request object (see above).
2494
+ #
2495
+ # @param database [::String]
2496
+ # Required. The database on whose tables/indexes split points are to be
2497
+ # added. Values are of the form
2498
+ # `projects/<project>/instances/<instance>/databases/<database>`.
2499
+ # @param split_points [::Array<::Google::Cloud::Spanner::Admin::Database::V1::SplitPoints, ::Hash>]
2500
+ # Required. The split points to add.
2501
+ # @param initiator [::String]
2502
+ # Optional. A user-supplied tag associated with the split points.
2503
+ # For example, "intital_data_load", "special_event_1".
2504
+ # Defaults to "CloudAddSplitPointsAPI" if not specified.
2505
+ # The length of the tag must not exceed 50 characters,else will be trimmed.
2506
+ # Only valid UTF8 characters are allowed.
2507
+ # @yield [result, operation] Access the result along with the TransportOperation object
2508
+ # @yieldparam result [::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsResponse]
2509
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
2510
+ #
2511
+ # @return [::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsResponse]
2512
+ #
2513
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
2514
+ #
2515
+ # @example Basic example
2516
+ # require "google/cloud/spanner/admin/database/v1"
2517
+ #
2518
+ # # Create a client object. The client can be reused for multiple calls.
2519
+ # client = Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Rest::Client.new
2520
+ #
2521
+ # # Create a request. To set request fields, pass in keyword arguments.
2522
+ # request = Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsRequest.new
2523
+ #
2524
+ # # Call the add_split_points method.
2525
+ # result = client.add_split_points request
2526
+ #
2527
+ # # The returned object is of type Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsResponse.
2528
+ # p result
2529
+ #
2530
+ def add_split_points request, options = nil
2531
+ raise ::ArgumentError, "request must be provided" if request.nil?
2532
+
2533
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsRequest
2534
+
2535
+ # Converts hash and nil to an options object
2536
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
2537
+
2538
+ # Customize the options with defaults
2539
+ call_metadata = @config.rpcs.add_split_points.metadata.to_h
2540
+
2541
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
2542
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
2543
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
2544
+ gapic_version: ::Google::Cloud::Spanner::Admin::Database::V1::VERSION,
2545
+ transports_version_send: [:rest]
2546
+
2547
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
2548
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
2549
+
2550
+ options.apply_defaults timeout: @config.rpcs.add_split_points.timeout,
2551
+ metadata: call_metadata,
2552
+ retry_policy: @config.rpcs.add_split_points.retry_policy
2553
+
2554
+ options.apply_defaults timeout: @config.timeout,
2555
+ metadata: @config.metadata,
2556
+ retry_policy: @config.retry_policy
2557
+
2558
+ @database_admin_stub.add_split_points request, options do |result, operation|
2559
+ yield result, operation if block_given?
2560
+ end
2561
+ rescue ::Gapic::Rest::Error => e
2562
+ raise ::Google::Cloud::Error.from_error(e)
2563
+ end
2564
+
2472
2565
  ##
2473
2566
  # Creates a new backup schedule.
2474
2567
  #
@@ -2936,6 +3029,13 @@ module Google
2936
3029
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
2937
3030
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
2938
3031
  # * (`nil`) indicating no credentials
3032
+ #
3033
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
3034
+ # external source for authentication to Google Cloud, you must validate it before
3035
+ # providing it to a Google API client library. Providing an unvalidated credential
3036
+ # configuration to Google APIs can compromise the security of your systems and data.
3037
+ # For more information, refer to [Validate credential configurations from external
3038
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
2939
3039
  # @return [::Object]
2940
3040
  # @!attribute [rw] scope
2941
3041
  # The OAuth scopes
@@ -3134,6 +3234,11 @@ module Google
3134
3234
  #
3135
3235
  attr_reader :list_database_roles
3136
3236
  ##
3237
+ # RPC-specific configuration for `add_split_points`
3238
+ # @return [::Gapic::Config::Method]
3239
+ #
3240
+ attr_reader :add_split_points
3241
+ ##
3137
3242
  # RPC-specific configuration for `create_backup_schedule`
3138
3243
  # @return [::Gapic::Config::Method]
3139
3244
  #
@@ -3201,6 +3306,8 @@ module Google
3201
3306
  @list_backup_operations = ::Gapic::Config::Method.new list_backup_operations_config
3202
3307
  list_database_roles_config = parent_rpcs.list_database_roles if parent_rpcs.respond_to? :list_database_roles
3203
3308
  @list_database_roles = ::Gapic::Config::Method.new list_database_roles_config
3309
+ add_split_points_config = parent_rpcs.add_split_points if parent_rpcs.respond_to? :add_split_points
3310
+ @add_split_points = ::Gapic::Config::Method.new add_split_points_config
3204
3311
  create_backup_schedule_config = parent_rpcs.create_backup_schedule if parent_rpcs.respond_to? :create_backup_schedule
3205
3312
  @create_backup_schedule = ::Gapic::Config::Method.new create_backup_schedule_config
3206
3313
  get_backup_schedule_config = parent_rpcs.get_backup_schedule if parent_rpcs.respond_to? :get_backup_schedule
@@ -504,6 +504,13 @@ module Google
504
504
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
505
505
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
506
506
  # * (`nil`) indicating no credentials
507
+ #
508
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
509
+ # external source for authentication to Google Cloud, you must validate it before
510
+ # providing it to a Google API client library. Providing an unvalidated credential
511
+ # configuration to Google APIs can compromise the security of your systems and data.
512
+ # For more information, refer to [Validate credential configurations from external
513
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
507
514
  # @return [::Object]
508
515
  # @!attribute [rw] scope
509
516
  # The OAuth scopes
@@ -875,6 +875,46 @@ module Google
875
875
  end
876
876
  end
877
877
 
878
+ ##
879
+ # Baseline implementation for the add_split_points REST call
880
+ #
881
+ # @param request_pb [::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsRequest]
882
+ # A request object representing the call parameters. Required.
883
+ # @param options [::Gapic::CallOptions]
884
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
885
+ #
886
+ # @yield [result, operation] Access the result along with the TransportOperation object
887
+ # @yieldparam result [::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsResponse]
888
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
889
+ #
890
+ # @return [::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsResponse]
891
+ # A result object deserialized from the server's reply
892
+ def add_split_points request_pb, options = nil
893
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
894
+
895
+ verb, uri, query_string_params, body = ServiceStub.transcode_add_split_points_request request_pb
896
+ query_string_params = if query_string_params.any?
897
+ query_string_params.to_h { |p| p.split "=", 2 }
898
+ else
899
+ {}
900
+ end
901
+
902
+ response = @client_stub.make_http_request(
903
+ verb,
904
+ uri: uri,
905
+ body: body || "",
906
+ params: query_string_params,
907
+ method_name: "add_split_points",
908
+ options: options
909
+ )
910
+ operation = ::Gapic::Rest::TransportOperation.new response
911
+ result = ::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsResponse.decode_json response.body, ignore_unknown_fields: true
912
+ catch :response do
913
+ yield result, operation if block_given?
914
+ result
915
+ end
916
+ end
917
+
878
918
  ##
879
919
  # Baseline implementation for the create_backup_schedule REST call
880
920
  #
@@ -1561,6 +1601,28 @@ module Google
1561
1601
  transcoder.transcode request_pb
1562
1602
  end
1563
1603
 
1604
+ ##
1605
+ # @private
1606
+ #
1607
+ # GRPC transcoding helper method for the add_split_points REST call
1608
+ #
1609
+ # @param request_pb [::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsRequest]
1610
+ # A request object representing the call parameters. Required.
1611
+ # @return [Array(String, [String, nil], Hash{String => String})]
1612
+ # Uri, Body, Query string parameters
1613
+ def self.transcode_add_split_points_request request_pb
1614
+ transcoder = Gapic::Rest::GrpcTranscoder.new
1615
+ .with_bindings(
1616
+ uri_method: :post,
1617
+ uri_template: "/v1/{database}:addSplitPoints",
1618
+ body: "*",
1619
+ matches: [
1620
+ ["database", %r{^projects/[^/]+/instances/[^/]+/databases/[^/]+/?$}, false]
1621
+ ]
1622
+ )
1623
+ transcoder.transcode request_pb
1624
+ end
1625
+
1564
1626
  ##
1565
1627
  # @private
1566
1628
  #
@@ -23,7 +23,7 @@ module Google
23
23
  module Admin
24
24
  module Database
25
25
  module V1
26
- VERSION = "1.3.0"
26
+ VERSION = "1.5.0"
27
27
  end
28
28
  end
29
29
  end
@@ -13,13 +13,14 @@ require 'google/iam/v1/policy_pb'
13
13
  require 'google/longrunning/operations_pb'
14
14
  require 'google/protobuf/empty_pb'
15
15
  require 'google/protobuf/field_mask_pb'
16
+ require 'google/protobuf/struct_pb'
16
17
  require 'google/protobuf/timestamp_pb'
17
18
  require 'google/spanner/admin/database/v1/backup_pb'
18
19
  require 'google/spanner/admin/database/v1/backup_schedule_pb'
19
20
  require 'google/spanner/admin/database/v1/common_pb'
20
21
 
21
22
 
22
- descriptor_data = "\n=google/spanner/admin/database/v1/spanner_database_admin.proto\x12 google.spanner.admin.database.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a-google/spanner/admin/database/v1/backup.proto\x1a\x36google/spanner/admin/database/v1/backup_schedule.proto\x1a-google/spanner/admin/database/v1/common.proto\"\xab\x01\n\x0bRestoreInfo\x12H\n\x0bsource_type\x18\x01 \x01(\x0e\x32\x33.google.spanner.admin.database.v1.RestoreSourceType\x12\x43\n\x0b\x62\x61\x63kup_info\x18\x02 \x01(\x0b\x32,.google.spanner.admin.database.v1.BackupInfoH\x00\x42\r\n\x0bsource_info\"\xca\x06\n\x08\x44\x61tabase\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\x05state\x18\x02 \x01(\x0e\x32\x30.google.spanner.admin.database.v1.Database.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12H\n\x0crestore_info\x18\x04 \x01(\x0b\x32-.google.spanner.admin.database.v1.RestoreInfoB\x03\xe0\x41\x03\x12R\n\x11\x65ncryption_config\x18\x05 \x01(\x0b\x32\x32.google.spanner.admin.database.v1.EncryptionConfigB\x03\xe0\x41\x03\x12N\n\x0f\x65ncryption_info\x18\x08 \x03(\x0b\x32\x30.google.spanner.admin.database.v1.EncryptionInfoB\x03\xe0\x41\x03\x12%\n\x18version_retention_period\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12>\n\x15\x65\x61rliest_version_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1b\n\x0e\x64\x65\x66\x61ult_leader\x18\t \x01(\tB\x03\xe0\x41\x03\x12P\n\x10\x64\x61tabase_dialect\x18\n \x01(\x0e\x32\x31.google.spanner.admin.database.v1.DatabaseDialectB\x03\xe0\x41\x03\x12\x1e\n\x16\x65nable_drop_protection\x18\x0b \x01(\x08\x12\x18\n\x0breconciling\x18\x0c \x01(\x08\x42\x03\xe0\x41\x03\"M\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02\x12\x14\n\x10READY_OPTIMIZING\x10\x03:b\xea\x41_\n\x1fspanner.googleapis.com/Database\x12<projects/{project}/instances/{instance}/databases/{database}\"v\n\x14ListDatabasesRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"o\n\x15ListDatabasesResponse\x12=\n\tdatabases\x18\x01 \x03(\x0b\x32*.google.spanner.admin.database.v1.Database\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xd4\x02\n\x15\x43reateDatabaseRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x1d\n\x10\x63reate_statement\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x1d\n\x10\x65xtra_statements\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12R\n\x11\x65ncryption_config\x18\x04 \x01(\x0b\x32\x32.google.spanner.admin.database.v1.EncryptionConfigB\x03\xe0\x41\x01\x12P\n\x10\x64\x61tabase_dialect\x18\x05 \x01(\x0e\x32\x31.google.spanner.admin.database.v1.DatabaseDialectB\x03\xe0\x41\x01\x12\x1e\n\x11proto_descriptors\x18\x06 \x01(\x0c\x42\x03\xe0\x41\x01\"P\n\x16\x43reateDatabaseMetadata\x12\x36\n\x08\x64\x61tabase\x18\x01 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\"K\n\x12GetDatabaseRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\"\x90\x01\n\x15UpdateDatabaseRequest\x12\x41\n\x08\x64\x61tabase\x18\x01 \x01(\x0b\x32*.google.spanner.admin.database.v1.DatabaseB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\xda\x01\n\x16UpdateDatabaseMetadata\x12H\n\x07request\x18\x01 \x01(\x0b\x32\x37.google.spanner.admin.database.v1.UpdateDatabaseRequest\x12\x45\n\x08progress\x18\x02 \x01(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\x12/\n\x0b\x63\x61ncel_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa4\x01\n\x18UpdateDatabaseDdlRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x17\n\nstatements\x18\x02 \x03(\tB\x03\xe0\x41\x02\x12\x14\n\x0coperation_id\x18\x03 \x01(\t\x12\x1e\n\x11proto_descriptors\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x01\"S\n\x16\x44\x64lStatementActionInfo\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x65ntity_type\x18\x02 \x01(\t\x12\x14\n\x0c\x65ntity_names\x18\x03 \x03(\t\"\xc8\x02\n\x19UpdateDatabaseDdlMetadata\x12\x36\n\x08\x64\x61tabase\x18\x01 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x12\n\nstatements\x18\x02 \x03(\t\x12\x35\n\x11\x63ommit_timestamps\x18\x03 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x16\n\tthrottled\x18\x04 \x01(\x08\x42\x03\xe0\x41\x03\x12\x45\n\x08progress\x18\x05 \x03(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\x12I\n\x07\x61\x63tions\x18\x06 \x03(\x0b\x32\x38.google.spanner.admin.database.v1.DdlStatementActionInfo\"P\n\x13\x44ropDatabaseRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\"R\n\x15GetDatabaseDdlRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\"G\n\x16GetDatabaseDdlResponse\x12\x12\n\nstatements\x18\x01 \x03(\t\x12\x19\n\x11proto_descriptors\x18\x02 \x01(\x0c\"\x8f\x01\n\x1dListDatabaseOperationsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"l\n\x1eListDatabaseOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x8e\x02\n\x16RestoreDatabaseRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x18\n\x0b\x64\x61tabase_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x34\n\x06\x62\x61\x63kup\x18\x03 \x01(\tB\"\xfa\x41\x1f\n\x1dspanner.googleapis.com/BackupH\x00\x12\x61\n\x11\x65ncryption_config\x18\x04 \x01(\x0b\x32\x41.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfigB\x03\xe0\x41\x01\x42\x08\n\x06source\"\xb5\x03\n\x1fRestoreDatabaseEncryptionConfig\x12n\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32P.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.EncryptionTypeB\x03\xe0\x41\x02\x12?\n\x0ckms_key_name\x18\x02 \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12@\n\rkms_key_names\x18\x03 \x03(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\"\x9e\x01\n\x0e\x45ncryptionType\x12\x1f\n\x1b\x45NCRYPTION_TYPE_UNSPECIFIED\x10\x00\x12+\n\'USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION\x10\x01\x12\x1d\n\x19GOOGLE_DEFAULT_ENCRYPTION\x10\x02\x12\x1f\n\x1b\x43USTOMER_MANAGED_ENCRYPTION\x10\x03\"\x8d\x03\n\x17RestoreDatabaseMetadata\x12\x32\n\x04name\x18\x01 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12H\n\x0bsource_type\x18\x02 \x01(\x0e\x32\x33.google.spanner.admin.database.v1.RestoreSourceType\x12\x43\n\x0b\x62\x61\x63kup_info\x18\x03 \x01(\x0b\x32,.google.spanner.admin.database.v1.BackupInfoH\x00\x12\x45\n\x08progress\x18\x04 \x01(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\x12/\n\x0b\x63\x61ncel_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n optimize_database_operation_name\x18\x06 \x01(\tB\r\n\x0bsource_info\"\x9d\x01\n OptimizeRestoredDatabaseMetadata\x12\x32\n\x04name\x18\x01 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x45\n\x08progress\x18\x02 \x01(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\"\x9e\x01\n\x0c\x44\x61tabaseRole\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02:{\xea\x41x\n#spanner.googleapis.com/DatabaseRole\x12Qprojects/{project}/instances/{instance}/databases/{database}/databaseRoles/{role}\"z\n\x18ListDatabaseRolesRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"|\n\x19ListDatabaseRolesResponse\x12\x46\n\x0e\x64\x61tabase_roles\x18\x01 \x03(\x0b\x32..google.spanner.admin.database.v1.DatabaseRole\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t*5\n\x11RestoreSourceType\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x42\x41\x43KUP\x10\x01\x32\x98\x31\n\rDatabaseAdmin\x12\xc0\x01\n\rListDatabases\x12\x36.google.spanner.admin.database.v1.ListDatabasesRequest\x1a\x37.google.spanner.admin.database.v1.ListDatabasesResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/instances/*}/databases\x12\xa4\x02\n\x0e\x43reateDatabase\x12\x37.google.spanner.admin.database.v1.CreateDatabaseRequest\x1a\x1d.google.longrunning.Operation\"\xb9\x01\xca\x41\x64\n)google.spanner.admin.database.v1.Database\x12\x37google.spanner.admin.database.v1.CreateDatabaseMetadata\xda\x41\x17parent,create_statement\x82\xd3\xe4\x93\x02\x32\"-/v1/{parent=projects/*/instances/*}/databases:\x01*\x12\xad\x01\n\x0bGetDatabase\x12\x34.google.spanner.admin.database.v1.GetDatabaseRequest\x1a*.google.spanner.admin.database.v1.Database\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/instances/*/databases/*}\x12\xef\x01\n\x0eUpdateDatabase\x12\x37.google.spanner.admin.database.v1.UpdateDatabaseRequest\x1a\x1d.google.longrunning.Operation\"\x84\x01\xca\x41\"\n\x08\x44\x61tabase\x12\x16UpdateDatabaseMetadata\xda\x41\x14\x64\x61tabase,update_mask\x82\xd3\xe4\x93\x02\x42\x32\x36/v1/{database.name=projects/*/instances/*/databases/*}:\x08\x64\x61tabase\x12\x9d\x02\n\x11UpdateDatabaseDdl\x12:.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest\x1a\x1d.google.longrunning.Operation\"\xac\x01\xca\x41S\n\x15google.protobuf.Empty\x12:google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata\xda\x41\x13\x64\x61tabase,statements\x82\xd3\xe4\x93\x02:25/v1/{database=projects/*/instances/*/databases/*}/ddl:\x01*\x12\xa3\x01\n\x0c\x44ropDatabase\x12\x35.google.spanner.admin.database.v1.DropDatabaseRequest\x1a\x16.google.protobuf.Empty\"D\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02\x33*1/v1/{database=projects/*/instances/*/databases/*}\x12\xcd\x01\n\x0eGetDatabaseDdl\x12\x37.google.spanner.admin.database.v1.GetDatabaseDdlRequest\x1a\x38.google.spanner.admin.database.v1.GetDatabaseDdlResponse\"H\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{database=projects/*/instances/*/databases/*}/ddl\x12\xc2\x02\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"\xf6\x01\xda\x41\x0fresource,policy\x82\xd3\xe4\x93\x02\xdd\x01\">/v1/{resource=projects/*/instances/*/databases/*}:setIamPolicy:\x01*ZA\"</v1/{resource=projects/*/instances/*/backups/*}:setIamPolicy:\x01*ZU\"P/v1/{resource=projects/*/instances/*/databases/*/backupSchedules/*}:setIamPolicy:\x01*\x12\xbb\x02\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"\xef\x01\xda\x41\x08resource\x82\xd3\xe4\x93\x02\xdd\x01\">/v1/{resource=projects/*/instances/*/databases/*}:getIamPolicy:\x01*ZA\"</v1/{resource=projects/*/instances/*/backups/*}:getIamPolicy:\x01*ZU\"P/v1/{resource=projects/*/instances/*/databases/*/backupSchedules/*}:getIamPolicy:\x01*\x12\xd4\x03\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"\xe8\x02\xda\x41\x14resource,permissions\x82\xd3\xe4\x93\x02\xca\x02\"D/v1/{resource=projects/*/instances/*/databases/*}:testIamPermissions:\x01*ZG\"B/v1/{resource=projects/*/instances/*/backups/*}:testIamPermissions:\x01*Z[\"V/v1/{resource=projects/*/instances/*/databases/*/backupSchedules/*}:testIamPermissions:\x01*ZY\"T/v1/{resource=projects/*/instances/*/databases/*/databaseRoles/*}:testIamPermissions:\x01*\x12\x9f\x02\n\x0c\x43reateBackup\x12\x35.google.spanner.admin.database.v1.CreateBackupRequest\x1a\x1d.google.longrunning.Operation\"\xb8\x01\xca\x41`\n\'google.spanner.admin.database.v1.Backup\x12\x35google.spanner.admin.database.v1.CreateBackupMetadata\xda\x41\x17parent,backup,backup_id\x82\xd3\xe4\x93\x02\x35\"+/v1/{parent=projects/*/instances/*}/backups:\x06\x62\x61\x63kup\x12\xac\x02\n\nCopyBackup\x12\x33.google.spanner.admin.database.v1.CopyBackupRequest\x1a\x1d.google.longrunning.Operation\"\xc9\x01\xca\x41^\n\'google.spanner.admin.database.v1.Backup\x12\x33google.spanner.admin.database.v1.CopyBackupMetadata\xda\x41*parent,backup_id,source_backup,expire_time\x82\xd3\xe4\x93\x02\x35\"0/v1/{parent=projects/*/instances/*}/backups:copy:\x01*\x12\xa5\x01\n\tGetBackup\x12\x32.google.spanner.admin.database.v1.GetBackupRequest\x1a(.google.spanner.admin.database.v1.Backup\":\xda\x41\x04name\x82\xd3\xe4\x93\x02-\x12+/v1/{name=projects/*/instances/*/backups/*}\x12\xc8\x01\n\x0cUpdateBackup\x12\x35.google.spanner.admin.database.v1.UpdateBackupRequest\x1a(.google.spanner.admin.database.v1.Backup\"W\xda\x41\x12\x62\x61\x63kup,update_mask\x82\xd3\xe4\x93\x02<22/v1/{backup.name=projects/*/instances/*/backups/*}:\x06\x62\x61\x63kup\x12\x99\x01\n\x0c\x44\x65leteBackup\x12\x35.google.spanner.admin.database.v1.DeleteBackupRequest\x1a\x16.google.protobuf.Empty\":\xda\x41\x04name\x82\xd3\xe4\x93\x02-*+/v1/{name=projects/*/instances/*/backups/*}\x12\xb8\x01\n\x0bListBackups\x12\x34.google.spanner.admin.database.v1.ListBackupsRequest\x1a\x35.google.spanner.admin.database.v1.ListBackupsResponse\"<\xda\x41\x06parent\x82\xd3\xe4\x93\x02-\x12+/v1/{parent=projects/*/instances/*}/backups\x12\xb1\x02\n\x0fRestoreDatabase\x12\x38.google.spanner.admin.database.v1.RestoreDatabaseRequest\x1a\x1d.google.longrunning.Operation\"\xc4\x01\xca\x41\x65\n)google.spanner.admin.database.v1.Database\x12\x38google.spanner.admin.database.v1.RestoreDatabaseMetadata\xda\x41\x19parent,database_id,backup\x82\xd3\xe4\x93\x02:\"5/v1/{parent=projects/*/instances/*}/databases:restore:\x01*\x12\xe4\x01\n\x16ListDatabaseOperations\x12?.google.spanner.admin.database.v1.ListDatabaseOperationsRequest\x1a@.google.spanner.admin.database.v1.ListDatabaseOperationsResponse\"G\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x38\x12\x36/v1/{parent=projects/*/instances/*}/databaseOperations\x12\xdc\x01\n\x14ListBackupOperations\x12=.google.spanner.admin.database.v1.ListBackupOperationsRequest\x1a>.google.spanner.admin.database.v1.ListBackupOperationsResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/instances/*}/backupOperations\x12\xdc\x01\n\x11ListDatabaseRoles\x12:.google.spanner.admin.database.v1.ListDatabaseRolesRequest\x1a;.google.spanner.admin.database.v1.ListDatabaseRolesResponse\"N\xda\x41\x06parent\x82\xd3\xe4\x93\x02?\x12=/v1/{parent=projects/*/instances/*/databases/*}/databaseRoles\x12\x8e\x02\n\x14\x43reateBackupSchedule\x12=.google.spanner.admin.database.v1.CreateBackupScheduleRequest\x1a\x30.google.spanner.admin.database.v1.BackupSchedule\"\x84\x01\xda\x41)parent,backup_schedule,backup_schedule_id\x82\xd3\xe4\x93\x02R\"?/v1/{parent=projects/*/instances/*/databases/*}/backupSchedules:\x0f\x62\x61\x63kup_schedule\x12\xd1\x01\n\x11GetBackupSchedule\x12:.google.spanner.admin.database.v1.GetBackupScheduleRequest\x1a\x30.google.spanner.admin.database.v1.BackupSchedule\"N\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41\x12?/v1/{name=projects/*/instances/*/databases/*/backupSchedules/*}\x12\x90\x02\n\x14UpdateBackupSchedule\x12=.google.spanner.admin.database.v1.UpdateBackupScheduleRequest\x1a\x30.google.spanner.admin.database.v1.BackupSchedule\"\x86\x01\xda\x41\x1b\x62\x61\x63kup_schedule,update_mask\x82\xd3\xe4\x93\x02\x62\x32O/v1/{backup_schedule.name=projects/*/instances/*/databases/*/backupSchedules/*}:\x0f\x62\x61\x63kup_schedule\x12\xbd\x01\n\x14\x44\x65leteBackupSchedule\x12=.google.spanner.admin.database.v1.DeleteBackupScheduleRequest\x1a\x16.google.protobuf.Empty\"N\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41*?/v1/{name=projects/*/instances/*/databases/*/backupSchedules/*}\x12\xe4\x01\n\x13ListBackupSchedules\x12<.google.spanner.admin.database.v1.ListBackupSchedulesRequest\x1a=.google.spanner.admin.database.v1.ListBackupSchedulesResponse\"P\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x41\x12?/v1/{parent=projects/*/instances/*/databases/*}/backupSchedules\x1ax\xca\x41\x16spanner.googleapis.com\xd2\x41\\https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.adminB\xd8\x02\n$com.google.spanner.admin.database.v1B\x19SpannerDatabaseAdminProtoP\x01ZFcloud.google.com/go/spanner/admin/database/apiv1/databasepb;databasepb\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Database\\V1\xea\x02+Google::Cloud::Spanner::Admin::Database::V1\xea\x41J\n\x1fspanner.googleapis.com/Instance\x12\'projects/{project}/instances/{instance}b\x06proto3"
23
+ descriptor_data = "\n=google/spanner/admin/database/v1/spanner_database_admin.proto\x12 google.spanner.admin.database.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a-google/spanner/admin/database/v1/backup.proto\x1a\x36google/spanner/admin/database/v1/backup_schedule.proto\x1a-google/spanner/admin/database/v1/common.proto\"\xab\x01\n\x0bRestoreInfo\x12H\n\x0bsource_type\x18\x01 \x01(\x0e\x32\x33.google.spanner.admin.database.v1.RestoreSourceType\x12\x43\n\x0b\x62\x61\x63kup_info\x18\x02 \x01(\x0b\x32,.google.spanner.admin.database.v1.BackupInfoH\x00\x42\r\n\x0bsource_info\"\xca\x06\n\x08\x44\x61tabase\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\x05state\x18\x02 \x01(\x0e\x32\x30.google.spanner.admin.database.v1.Database.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12H\n\x0crestore_info\x18\x04 \x01(\x0b\x32-.google.spanner.admin.database.v1.RestoreInfoB\x03\xe0\x41\x03\x12R\n\x11\x65ncryption_config\x18\x05 \x01(\x0b\x32\x32.google.spanner.admin.database.v1.EncryptionConfigB\x03\xe0\x41\x03\x12N\n\x0f\x65ncryption_info\x18\x08 \x03(\x0b\x32\x30.google.spanner.admin.database.v1.EncryptionInfoB\x03\xe0\x41\x03\x12%\n\x18version_retention_period\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12>\n\x15\x65\x61rliest_version_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1b\n\x0e\x64\x65\x66\x61ult_leader\x18\t \x01(\tB\x03\xe0\x41\x03\x12P\n\x10\x64\x61tabase_dialect\x18\n \x01(\x0e\x32\x31.google.spanner.admin.database.v1.DatabaseDialectB\x03\xe0\x41\x03\x12\x1e\n\x16\x65nable_drop_protection\x18\x0b \x01(\x08\x12\x18\n\x0breconciling\x18\x0c \x01(\x08\x42\x03\xe0\x41\x03\"M\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43REATING\x10\x01\x12\t\n\x05READY\x10\x02\x12\x14\n\x10READY_OPTIMIZING\x10\x03:b\xea\x41_\n\x1fspanner.googleapis.com/Database\x12<projects/{project}/instances/{instance}/databases/{database}\"v\n\x14ListDatabasesRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"o\n\x15ListDatabasesResponse\x12=\n\tdatabases\x18\x01 \x03(\x0b\x32*.google.spanner.admin.database.v1.Database\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xd4\x02\n\x15\x43reateDatabaseRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x1d\n\x10\x63reate_statement\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x1d\n\x10\x65xtra_statements\x18\x03 \x03(\tB\x03\xe0\x41\x01\x12R\n\x11\x65ncryption_config\x18\x04 \x01(\x0b\x32\x32.google.spanner.admin.database.v1.EncryptionConfigB\x03\xe0\x41\x01\x12P\n\x10\x64\x61tabase_dialect\x18\x05 \x01(\x0e\x32\x31.google.spanner.admin.database.v1.DatabaseDialectB\x03\xe0\x41\x01\x12\x1e\n\x11proto_descriptors\x18\x06 \x01(\x0c\x42\x03\xe0\x41\x01\"P\n\x16\x43reateDatabaseMetadata\x12\x36\n\x08\x64\x61tabase\x18\x01 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\"K\n\x12GetDatabaseRequest\x12\x35\n\x04name\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\"\x90\x01\n\x15UpdateDatabaseRequest\x12\x41\n\x08\x64\x61tabase\x18\x01 \x01(\x0b\x32*.google.spanner.admin.database.v1.DatabaseB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"\xda\x01\n\x16UpdateDatabaseMetadata\x12H\n\x07request\x18\x01 \x01(\x0b\x32\x37.google.spanner.admin.database.v1.UpdateDatabaseRequest\x12\x45\n\x08progress\x18\x02 \x01(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\x12/\n\x0b\x63\x61ncel_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa4\x01\n\x18UpdateDatabaseDdlRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x17\n\nstatements\x18\x02 \x03(\tB\x03\xe0\x41\x02\x12\x14\n\x0coperation_id\x18\x03 \x01(\t\x12\x1e\n\x11proto_descriptors\x18\x04 \x01(\x0c\x42\x03\xe0\x41\x01\"S\n\x16\x44\x64lStatementActionInfo\x12\x0e\n\x06\x61\x63tion\x18\x01 \x01(\t\x12\x13\n\x0b\x65ntity_type\x18\x02 \x01(\t\x12\x14\n\x0c\x65ntity_names\x18\x03 \x03(\t\"\xc8\x02\n\x19UpdateDatabaseDdlMetadata\x12\x36\n\x08\x64\x61tabase\x18\x01 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x12\n\nstatements\x18\x02 \x03(\t\x12\x35\n\x11\x63ommit_timestamps\x18\x03 \x03(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x16\n\tthrottled\x18\x04 \x01(\x08\x42\x03\xe0\x41\x03\x12\x45\n\x08progress\x18\x05 \x03(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\x12I\n\x07\x61\x63tions\x18\x06 \x03(\x0b\x32\x38.google.spanner.admin.database.v1.DdlStatementActionInfo\"P\n\x13\x44ropDatabaseRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\"R\n\x15GetDatabaseDdlRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\"G\n\x16GetDatabaseDdlResponse\x12\x12\n\nstatements\x18\x01 \x03(\t\x12\x19\n\x11proto_descriptors\x18\x02 \x01(\x0c\"\x8f\x01\n\x1dListDatabaseOperationsRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"l\n\x1eListDatabaseOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x8e\x02\n\x16RestoreDatabaseRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Instance\x12\x18\n\x0b\x64\x61tabase_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x34\n\x06\x62\x61\x63kup\x18\x03 \x01(\tB\"\xfa\x41\x1f\n\x1dspanner.googleapis.com/BackupH\x00\x12\x61\n\x11\x65ncryption_config\x18\x04 \x01(\x0b\x32\x41.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfigB\x03\xe0\x41\x01\x42\x08\n\x06source\"\xb5\x03\n\x1fRestoreDatabaseEncryptionConfig\x12n\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32P.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.EncryptionTypeB\x03\xe0\x41\x02\x12?\n\x0ckms_key_name\x18\x02 \x01(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\x12@\n\rkms_key_names\x18\x03 \x03(\tB)\xe0\x41\x01\xfa\x41#\n!cloudkms.googleapis.com/CryptoKey\"\x9e\x01\n\x0e\x45ncryptionType\x12\x1f\n\x1b\x45NCRYPTION_TYPE_UNSPECIFIED\x10\x00\x12+\n\'USE_CONFIG_DEFAULT_OR_BACKUP_ENCRYPTION\x10\x01\x12\x1d\n\x19GOOGLE_DEFAULT_ENCRYPTION\x10\x02\x12\x1f\n\x1b\x43USTOMER_MANAGED_ENCRYPTION\x10\x03\"\x8d\x03\n\x17RestoreDatabaseMetadata\x12\x32\n\x04name\x18\x01 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12H\n\x0bsource_type\x18\x02 \x01(\x0e\x32\x33.google.spanner.admin.database.v1.RestoreSourceType\x12\x43\n\x0b\x62\x61\x63kup_info\x18\x03 \x01(\x0b\x32,.google.spanner.admin.database.v1.BackupInfoH\x00\x12\x45\n\x08progress\x18\x04 \x01(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\x12/\n\x0b\x63\x61ncel_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n optimize_database_operation_name\x18\x06 \x01(\tB\r\n\x0bsource_info\"\x9d\x01\n OptimizeRestoredDatabaseMetadata\x12\x32\n\x04name\x18\x01 \x01(\tB$\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x45\n\x08progress\x18\x02 \x01(\x0b\x32\x33.google.spanner.admin.database.v1.OperationProgress\"\x9e\x01\n\x0c\x44\x61tabaseRole\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02:{\xea\x41x\n#spanner.googleapis.com/DatabaseRole\x12Qprojects/{project}/instances/{instance}/databases/{database}/databaseRoles/{role}\"z\n\x18ListDatabaseRolesRequest\x12\x37\n\x06parent\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"|\n\x19ListDatabaseRolesResponse\x12\x46\n\x0e\x64\x61tabase_roles\x18\x01 \x03(\x0b\x32..google.spanner.admin.database.v1.DatabaseRole\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xb4\x01\n\x15\x41\x64\x64SplitPointsRequest\x12\x39\n\x08\x64\x61tabase\x18\x01 \x01(\tB\'\xe0\x41\x02\xfa\x41!\n\x1fspanner.googleapis.com/Database\x12H\n\x0csplit_points\x18\x02 \x03(\x0b\x32-.google.spanner.admin.database.v1.SplitPointsB\x03\xe0\x41\x02\x12\x16\n\tinitiator\x18\x03 \x01(\tB\x03\xe0\x41\x01\"\x18\n\x16\x41\x64\x64SplitPointsResponse\"\xe2\x01\n\x0bSplitPoints\x12\r\n\x05table\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\t\x12\x44\n\x04keys\x18\x03 \x03(\x0b\x32\x31.google.spanner.admin.database.v1.SplitPoints.KeyB\x03\xe0\x41\x02\x12\x34\n\x0b\x65xpire_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x1a\x39\n\x03Key\x12\x32\n\tkey_parts\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.ListValueB\x03\xe0\x41\x02*5\n\x11RestoreSourceType\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x42\x41\x43KUP\x10\x01\x32\x83\x33\n\rDatabaseAdmin\x12\xc0\x01\n\rListDatabases\x12\x36.google.spanner.admin.database.v1.ListDatabasesRequest\x1a\x37.google.spanner.admin.database.v1.ListDatabasesResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/instances/*}/databases\x12\xa4\x02\n\x0e\x43reateDatabase\x12\x37.google.spanner.admin.database.v1.CreateDatabaseRequest\x1a\x1d.google.longrunning.Operation\"\xb9\x01\xca\x41\x64\n)google.spanner.admin.database.v1.Database\x12\x37google.spanner.admin.database.v1.CreateDatabaseMetadata\xda\x41\x17parent,create_statement\x82\xd3\xe4\x93\x02\x32\"-/v1/{parent=projects/*/instances/*}/databases:\x01*\x12\xad\x01\n\x0bGetDatabase\x12\x34.google.spanner.admin.database.v1.GetDatabaseRequest\x1a*.google.spanner.admin.database.v1.Database\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/instances/*/databases/*}\x12\xef\x01\n\x0eUpdateDatabase\x12\x37.google.spanner.admin.database.v1.UpdateDatabaseRequest\x1a\x1d.google.longrunning.Operation\"\x84\x01\xca\x41\"\n\x08\x44\x61tabase\x12\x16UpdateDatabaseMetadata\xda\x41\x14\x64\x61tabase,update_mask\x82\xd3\xe4\x93\x02\x42\x32\x36/v1/{database.name=projects/*/instances/*/databases/*}:\x08\x64\x61tabase\x12\x9d\x02\n\x11UpdateDatabaseDdl\x12:.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest\x1a\x1d.google.longrunning.Operation\"\xac\x01\xca\x41S\n\x15google.protobuf.Empty\x12:google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata\xda\x41\x13\x64\x61tabase,statements\x82\xd3\xe4\x93\x02:25/v1/{database=projects/*/instances/*/databases/*}/ddl:\x01*\x12\xa3\x01\n\x0c\x44ropDatabase\x12\x35.google.spanner.admin.database.v1.DropDatabaseRequest\x1a\x16.google.protobuf.Empty\"D\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02\x33*1/v1/{database=projects/*/instances/*/databases/*}\x12\xcd\x01\n\x0eGetDatabaseDdl\x12\x37.google.spanner.admin.database.v1.GetDatabaseDdlRequest\x1a\x38.google.spanner.admin.database.v1.GetDatabaseDdlResponse\"H\xda\x41\x08\x64\x61tabase\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{database=projects/*/instances/*/databases/*}/ddl\x12\xc2\x02\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"\xf6\x01\xda\x41\x0fresource,policy\x82\xd3\xe4\x93\x02\xdd\x01\">/v1/{resource=projects/*/instances/*/databases/*}:setIamPolicy:\x01*ZA\"</v1/{resource=projects/*/instances/*/backups/*}:setIamPolicy:\x01*ZU\"P/v1/{resource=projects/*/instances/*/databases/*/backupSchedules/*}:setIamPolicy:\x01*\x12\xbb\x02\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"\xef\x01\xda\x41\x08resource\x82\xd3\xe4\x93\x02\xdd\x01\">/v1/{resource=projects/*/instances/*/databases/*}:getIamPolicy:\x01*ZA\"</v1/{resource=projects/*/instances/*/backups/*}:getIamPolicy:\x01*ZU\"P/v1/{resource=projects/*/instances/*/databases/*/backupSchedules/*}:getIamPolicy:\x01*\x12\xd4\x03\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"\xe8\x02\xda\x41\x14resource,permissions\x82\xd3\xe4\x93\x02\xca\x02\"D/v1/{resource=projects/*/instances/*/databases/*}:testIamPermissions:\x01*ZG\"B/v1/{resource=projects/*/instances/*/backups/*}:testIamPermissions:\x01*Z[\"V/v1/{resource=projects/*/instances/*/databases/*/backupSchedules/*}:testIamPermissions:\x01*ZY\"T/v1/{resource=projects/*/instances/*/databases/*/databaseRoles/*}:testIamPermissions:\x01*\x12\x9f\x02\n\x0c\x43reateBackup\x12\x35.google.spanner.admin.database.v1.CreateBackupRequest\x1a\x1d.google.longrunning.Operation\"\xb8\x01\xca\x41`\n\'google.spanner.admin.database.v1.Backup\x12\x35google.spanner.admin.database.v1.CreateBackupMetadata\xda\x41\x17parent,backup,backup_id\x82\xd3\xe4\x93\x02\x35\"+/v1/{parent=projects/*/instances/*}/backups:\x06\x62\x61\x63kup\x12\xac\x02\n\nCopyBackup\x12\x33.google.spanner.admin.database.v1.CopyBackupRequest\x1a\x1d.google.longrunning.Operation\"\xc9\x01\xca\x41^\n\'google.spanner.admin.database.v1.Backup\x12\x33google.spanner.admin.database.v1.CopyBackupMetadata\xda\x41*parent,backup_id,source_backup,expire_time\x82\xd3\xe4\x93\x02\x35\"0/v1/{parent=projects/*/instances/*}/backups:copy:\x01*\x12\xa5\x01\n\tGetBackup\x12\x32.google.spanner.admin.database.v1.GetBackupRequest\x1a(.google.spanner.admin.database.v1.Backup\":\xda\x41\x04name\x82\xd3\xe4\x93\x02-\x12+/v1/{name=projects/*/instances/*/backups/*}\x12\xc8\x01\n\x0cUpdateBackup\x12\x35.google.spanner.admin.database.v1.UpdateBackupRequest\x1a(.google.spanner.admin.database.v1.Backup\"W\xda\x41\x12\x62\x61\x63kup,update_mask\x82\xd3\xe4\x93\x02<22/v1/{backup.name=projects/*/instances/*/backups/*}:\x06\x62\x61\x63kup\x12\x99\x01\n\x0c\x44\x65leteBackup\x12\x35.google.spanner.admin.database.v1.DeleteBackupRequest\x1a\x16.google.protobuf.Empty\":\xda\x41\x04name\x82\xd3\xe4\x93\x02-*+/v1/{name=projects/*/instances/*/backups/*}\x12\xb8\x01\n\x0bListBackups\x12\x34.google.spanner.admin.database.v1.ListBackupsRequest\x1a\x35.google.spanner.admin.database.v1.ListBackupsResponse\"<\xda\x41\x06parent\x82\xd3\xe4\x93\x02-\x12+/v1/{parent=projects/*/instances/*}/backups\x12\xb1\x02\n\x0fRestoreDatabase\x12\x38.google.spanner.admin.database.v1.RestoreDatabaseRequest\x1a\x1d.google.longrunning.Operation\"\xc4\x01\xca\x41\x65\n)google.spanner.admin.database.v1.Database\x12\x38google.spanner.admin.database.v1.RestoreDatabaseMetadata\xda\x41\x19parent,database_id,backup\x82\xd3\xe4\x93\x02:\"5/v1/{parent=projects/*/instances/*}/databases:restore:\x01*\x12\xe4\x01\n\x16ListDatabaseOperations\x12?.google.spanner.admin.database.v1.ListDatabaseOperationsRequest\x1a@.google.spanner.admin.database.v1.ListDatabaseOperationsResponse\"G\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x38\x12\x36/v1/{parent=projects/*/instances/*}/databaseOperations\x12\xdc\x01\n\x14ListBackupOperations\x12=.google.spanner.admin.database.v1.ListBackupOperationsRequest\x1a>.google.spanner.admin.database.v1.ListBackupOperationsResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/instances/*}/backupOperations\x12\xdc\x01\n\x11ListDatabaseRoles\x12:.google.spanner.admin.database.v1.ListDatabaseRolesRequest\x1a;.google.spanner.admin.database.v1.ListDatabaseRolesResponse\"N\xda\x41\x06parent\x82\xd3\xe4\x93\x02?\x12=/v1/{parent=projects/*/instances/*/databases/*}/databaseRoles\x12\xe8\x01\n\x0e\x41\x64\x64SplitPoints\x12\x37.google.spanner.admin.database.v1.AddSplitPointsRequest\x1a\x38.google.spanner.admin.database.v1.AddSplitPointsResponse\"c\xda\x41\x15\x64\x61tabase,split_points\x82\xd3\xe4\x93\x02\x45\"@/v1/{database=projects/*/instances/*/databases/*}:addSplitPoints:\x01*\x12\x8e\x02\n\x14\x43reateBackupSchedule\x12=.google.spanner.admin.database.v1.CreateBackupScheduleRequest\x1a\x30.google.spanner.admin.database.v1.BackupSchedule\"\x84\x01\xda\x41)parent,backup_schedule,backup_schedule_id\x82\xd3\xe4\x93\x02R\"?/v1/{parent=projects/*/instances/*/databases/*}/backupSchedules:\x0f\x62\x61\x63kup_schedule\x12\xd1\x01\n\x11GetBackupSchedule\x12:.google.spanner.admin.database.v1.GetBackupScheduleRequest\x1a\x30.google.spanner.admin.database.v1.BackupSchedule\"N\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41\x12?/v1/{name=projects/*/instances/*/databases/*/backupSchedules/*}\x12\x90\x02\n\x14UpdateBackupSchedule\x12=.google.spanner.admin.database.v1.UpdateBackupScheduleRequest\x1a\x30.google.spanner.admin.database.v1.BackupSchedule\"\x86\x01\xda\x41\x1b\x62\x61\x63kup_schedule,update_mask\x82\xd3\xe4\x93\x02\x62\x32O/v1/{backup_schedule.name=projects/*/instances/*/databases/*/backupSchedules/*}:\x0f\x62\x61\x63kup_schedule\x12\xbd\x01\n\x14\x44\x65leteBackupSchedule\x12=.google.spanner.admin.database.v1.DeleteBackupScheduleRequest\x1a\x16.google.protobuf.Empty\"N\xda\x41\x04name\x82\xd3\xe4\x93\x02\x41*?/v1/{name=projects/*/instances/*/databases/*/backupSchedules/*}\x12\xe4\x01\n\x13ListBackupSchedules\x12<.google.spanner.admin.database.v1.ListBackupSchedulesRequest\x1a=.google.spanner.admin.database.v1.ListBackupSchedulesResponse\"P\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x41\x12?/v1/{parent=projects/*/instances/*/databases/*}/backupSchedules\x1ax\xca\x41\x16spanner.googleapis.com\xd2\x41\\https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spanner.adminB\xd8\x02\n$com.google.spanner.admin.database.v1B\x19SpannerDatabaseAdminProtoP\x01ZFcloud.google.com/go/spanner/admin/database/apiv1/databasepb;databasepb\xaa\x02&Google.Cloud.Spanner.Admin.Database.V1\xca\x02&Google\\Cloud\\Spanner\\Admin\\Database\\V1\xea\x02+Google::Cloud::Spanner::Admin::Database::V1\xea\x41J\n\x1fspanner.googleapis.com/Instance\x12\'projects/{project}/instances/{instance}b\x06proto3"
23
24
 
24
25
  pool = Google::Protobuf::DescriptorPool.generated_pool
25
26
 
@@ -39,6 +40,7 @@ rescue TypeError
39
40
  ["google.spanner.admin.database.v1.EncryptionConfig", "google/spanner/admin/database/v1/common.proto"],
40
41
  ["google.protobuf.FieldMask", "google/protobuf/field_mask.proto"],
41
42
  ["google.longrunning.Operation", "google/longrunning/operations.proto"],
43
+ ["google.protobuf.ListValue", "google/protobuf/struct.proto"],
42
44
  ]
43
45
  imports.each do |type_name, expected_filename|
44
46
  import_file = pool.lookup(type_name).file_descriptor
@@ -82,6 +84,10 @@ module Google
82
84
  DatabaseRole = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.DatabaseRole").msgclass
83
85
  ListDatabaseRolesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.ListDatabaseRolesRequest").msgclass
84
86
  ListDatabaseRolesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.ListDatabaseRolesResponse").msgclass
87
+ AddSplitPointsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.AddSplitPointsRequest").msgclass
88
+ AddSplitPointsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.AddSplitPointsResponse").msgclass
89
+ SplitPoints = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.SplitPoints").msgclass
90
+ SplitPoints::Key = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.SplitPoints.Key").msgclass
85
91
  RestoreSourceType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.database.v1.RestoreSourceType").enummodule
86
92
  end
87
93
  end
@@ -218,6 +218,8 @@ module Google
218
218
  rpc :ListBackupOperations, ::Google::Cloud::Spanner::Admin::Database::V1::ListBackupOperationsRequest, ::Google::Cloud::Spanner::Admin::Database::V1::ListBackupOperationsResponse
219
219
  # Lists Cloud Spanner database roles.
220
220
  rpc :ListDatabaseRoles, ::Google::Cloud::Spanner::Admin::Database::V1::ListDatabaseRolesRequest, ::Google::Cloud::Spanner::Admin::Database::V1::ListDatabaseRolesResponse
221
+ # Adds split points to specified tables, indexes of a database.
222
+ rpc :AddSplitPoints, ::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsRequest, ::Google::Cloud::Spanner::Admin::Database::V1::AddSplitPointsResponse
221
223
  # Creates a new backup schedule.
222
224
  rpc :CreateBackupSchedule, ::Google::Cloud::Spanner::Admin::Database::V1::CreateBackupScheduleRequest, ::Google::Cloud::Spanner::Admin::Database::V1::BackupSchedule
223
225
  # Gets backup schedule for the input schedule name.
@@ -409,6 +409,14 @@ module Google
409
409
  # @return [::Array<::String>]
410
410
  # An allowlist of the fully qualified names of RPCs that should be included
411
411
  # on public client surfaces.
412
+ # @!attribute [rw] generate_omitted_as_internal
413
+ # @return [::Boolean]
414
+ # Setting this to true indicates to the client generators that methods
415
+ # that would be excluded from the generation should instead be generated
416
+ # in a way that indicates these methods should not be consumed by
417
+ # end users. How this is expressed is up to individual language
418
+ # implementations to decide. Some examples may be: added annotations,
419
+ # obfuscated identifiers, or other language idiomatic patterns.
412
420
  class SelectiveGapicGeneration
413
421
  include ::Google::Protobuf::MessageExts
414
422
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -40,6 +40,8 @@ module Google
40
40
  # @!attribute [rw] error
41
41
  # @return [::Google::Rpc::Status]
42
42
  # The error result of the operation in case of failure or cancellation.
43
+ #
44
+ # Note: The following fields are mutually exclusive: `error`, `response`. If a field in that set is populated, all other fields in the set will automatically be cleared.
43
45
  # @!attribute [rw] response
44
46
  # @return [::Google::Protobuf::Any]
45
47
  # The normal, successful response of the operation. If the original
@@ -50,6 +52,8 @@ module Google
50
52
  # is the original method name. For example, if the original method name
51
53
  # is `TakeSnapshot()`, the inferred response type is
52
54
  # `TakeSnapshotResponse`.
55
+ #
56
+ # Note: The following fields are mutually exclusive: `response`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
53
57
  class Operation
54
58
  include ::Google::Protobuf::MessageExts
55
59
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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
+
20
+ module Google
21
+ module Protobuf
22
+ # `Struct` represents a structured data value, consisting of fields
23
+ # which map to dynamically typed values. In some languages, `Struct`
24
+ # might be supported by a native representation. For example, in
25
+ # scripting languages like JS a struct is represented as an
26
+ # object. The details of that representation are described together
27
+ # with the proto support for the language.
28
+ #
29
+ # The JSON representation for `Struct` is JSON object.
30
+ # @!attribute [rw] fields
31
+ # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}]
32
+ # Unordered map of dynamically typed values.
33
+ class Struct
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
+
37
+ # @!attribute [rw] key
38
+ # @return [::String]
39
+ # @!attribute [rw] value
40
+ # @return [::Google::Protobuf::Value]
41
+ class FieldsEntry
42
+ include ::Google::Protobuf::MessageExts
43
+ extend ::Google::Protobuf::MessageExts::ClassMethods
44
+ end
45
+ end
46
+
47
+ # `Value` represents a dynamically typed value which can be either
48
+ # null, a number, a string, a boolean, a recursive struct value, or a
49
+ # list of values. A producer of value is expected to set one of these
50
+ # variants. Absence of any variant indicates an error.
51
+ #
52
+ # The JSON representation for `Value` is JSON value.
53
+ # @!attribute [rw] null_value
54
+ # @return [::Google::Protobuf::NullValue]
55
+ # Represents a null value.
56
+ #
57
+ # Note: The following fields are mutually exclusive: `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
58
+ # @!attribute [rw] number_value
59
+ # @return [::Float]
60
+ # Represents a double value.
61
+ #
62
+ # Note: The following fields are mutually exclusive: `number_value`, `null_value`, `string_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
63
+ # @!attribute [rw] string_value
64
+ # @return [::String]
65
+ # Represents a string value.
66
+ #
67
+ # Note: The following fields are mutually exclusive: `string_value`, `null_value`, `number_value`, `bool_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
68
+ # @!attribute [rw] bool_value
69
+ # @return [::Boolean]
70
+ # Represents a boolean value.
71
+ #
72
+ # Note: The following fields are mutually exclusive: `bool_value`, `null_value`, `number_value`, `string_value`, `struct_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
73
+ # @!attribute [rw] struct_value
74
+ # @return [::Google::Protobuf::Struct]
75
+ # Represents a structured value.
76
+ #
77
+ # Note: The following fields are mutually exclusive: `struct_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `list_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
78
+ # @!attribute [rw] list_value
79
+ # @return [::Google::Protobuf::ListValue]
80
+ # Represents a repeated `Value`.
81
+ #
82
+ # Note: The following fields are mutually exclusive: `list_value`, `null_value`, `number_value`, `string_value`, `bool_value`, `struct_value`. If a field in that set is populated, all other fields in the set will automatically be cleared.
83
+ class Value
84
+ include ::Google::Protobuf::MessageExts
85
+ extend ::Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+
88
+ # `ListValue` is a wrapper around a repeated field of values.
89
+ #
90
+ # The JSON representation for `ListValue` is JSON array.
91
+ # @!attribute [rw] values
92
+ # @return [::Array<::Google::Protobuf::Value>]
93
+ # Repeated field of dynamically typed values.
94
+ class ListValue
95
+ include ::Google::Protobuf::MessageExts
96
+ extend ::Google::Protobuf::MessageExts::ClassMethods
97
+ end
98
+
99
+ # `NullValue` is a singleton enumeration to represent the null value for the
100
+ # `Value` type union.
101
+ #
102
+ # The JSON representation for `NullValue` is JSON `null`.
103
+ module NullValue
104
+ # Null value.
105
+ NULL_VALUE = 0
106
+ end
107
+ end
108
+ end
@@ -63,9 +63,13 @@ module Google
63
63
  # @!attribute [rw] full_backup_spec
64
64
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::FullBackupSpec]
65
65
  # The schedule creates only full backups.
66
+ #
67
+ # Note: The following fields are mutually exclusive: `full_backup_spec`, `incremental_backup_spec`. If a field in that set is populated, all other fields in the set will automatically be cleared.
66
68
  # @!attribute [rw] incremental_backup_spec
67
69
  # @return [::Google::Cloud::Spanner::Admin::Database::V1::IncrementalBackupSpec]
68
70
  # The schedule creates incremental backup chains.
71
+ #
72
+ # Note: The following fields are mutually exclusive: `incremental_backup_spec`, `full_backup_spec`. If a field in that set is populated, all other fields in the set will automatically be cleared.
69
73
  # @!attribute [r] update_time
70
74
  # @return [::Google::Protobuf::Timestamp]
71
75
  # Output only. The timestamp at which the schedule was last updated.
@@ -82,7 +86,7 @@ module Google
82
86
  # @return [::String]
83
87
  # Required. Textual representation of the crontab. User can customize the
84
88
  # backup frequency and the backup version time using the cron
85
- # expression. The version time must be in UTC timzeone.
89
+ # expression. The version time must be in UTC timezone.
86
90
  #
87
91
  # The backup will contain an externally consistent copy of the
88
92
  # database at the version time. Allowed frequencies are 12 hour, 1 day,
@@ -726,6 +726,66 @@ module Google
726
726
  extend ::Google::Protobuf::MessageExts::ClassMethods
727
727
  end
728
728
 
729
+ # The request for
730
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#add_split_points AddSplitPoints}.
731
+ # @!attribute [rw] database
732
+ # @return [::String]
733
+ # Required. The database on whose tables/indexes split points are to be
734
+ # added. Values are of the form
735
+ # `projects/<project>/instances/<instance>/databases/<database>`.
736
+ # @!attribute [rw] split_points
737
+ # @return [::Array<::Google::Cloud::Spanner::Admin::Database::V1::SplitPoints>]
738
+ # Required. The split points to add.
739
+ # @!attribute [rw] initiator
740
+ # @return [::String]
741
+ # Optional. A user-supplied tag associated with the split points.
742
+ # For example, "intital_data_load", "special_event_1".
743
+ # Defaults to "CloudAddSplitPointsAPI" if not specified.
744
+ # The length of the tag must not exceed 50 characters,else will be trimmed.
745
+ # Only valid UTF8 characters are allowed.
746
+ class AddSplitPointsRequest
747
+ include ::Google::Protobuf::MessageExts
748
+ extend ::Google::Protobuf::MessageExts::ClassMethods
749
+ end
750
+
751
+ # The response for
752
+ # {::Google::Cloud::Spanner::Admin::Database::V1::DatabaseAdmin::Client#add_split_points AddSplitPoints}.
753
+ class AddSplitPointsResponse
754
+ include ::Google::Protobuf::MessageExts
755
+ extend ::Google::Protobuf::MessageExts::ClassMethods
756
+ end
757
+
758
+ # The split points of a table/index.
759
+ # @!attribute [rw] table
760
+ # @return [::String]
761
+ # The table to split.
762
+ # @!attribute [rw] index
763
+ # @return [::String]
764
+ # The index to split.
765
+ # If specified, the `table` field must refer to the index's base table.
766
+ # @!attribute [rw] keys
767
+ # @return [::Array<::Google::Cloud::Spanner::Admin::Database::V1::SplitPoints::Key>]
768
+ # Required. The list of split keys, i.e., the split boundaries.
769
+ # @!attribute [rw] expire_time
770
+ # @return [::Google::Protobuf::Timestamp]
771
+ # Optional. The expiration timestamp of the split points.
772
+ # A timestamp in the past means immediate expiration.
773
+ # The maximum value can be 30 days in the future.
774
+ # Defaults to 10 days in the future if not specified.
775
+ class SplitPoints
776
+ include ::Google::Protobuf::MessageExts
777
+ extend ::Google::Protobuf::MessageExts::ClassMethods
778
+
779
+ # A split key.
780
+ # @!attribute [rw] key_parts
781
+ # @return [::Google::Protobuf::ListValue]
782
+ # Required. The column values making up the split key.
783
+ class Key
784
+ include ::Google::Protobuf::MessageExts
785
+ extend ::Google::Protobuf::MessageExts::ClassMethods
786
+ end
787
+ end
788
+
729
789
  # Indicates the type of the restore source.
730
790
  module RestoreSourceType
731
791
  # No restore associated.
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-spanner-admin-database-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
10
+ date: 2025-01-31 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: gapic-common
@@ -16,7 +15,7 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 0.24.0
18
+ version: 0.25.0
20
19
  - - "<"
21
20
  - !ruby/object:Gem::Version
22
21
  version: 2.a
@@ -26,7 +25,7 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- version: 0.24.0
28
+ version: 0.25.0
30
29
  - - "<"
31
30
  - !ruby/object:Gem::Version
32
31
  version: 2.a
@@ -102,6 +101,7 @@ files:
102
101
  - proto_docs/google/protobuf/duration.rb
103
102
  - proto_docs/google/protobuf/empty.rb
104
103
  - proto_docs/google/protobuf/field_mask.rb
104
+ - proto_docs/google/protobuf/struct.rb
105
105
  - proto_docs/google/protobuf/timestamp.rb
106
106
  - proto_docs/google/rpc/status.rb
107
107
  - proto_docs/google/spanner/admin/database/v1/backup.rb
@@ -113,7 +113,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
113
113
  licenses:
114
114
  - Apache-2.0
115
115
  metadata: {}
116
- post_install_message:
117
116
  rdoc_options: []
118
117
  require_paths:
119
118
  - lib
@@ -121,15 +120,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
120
  requirements:
122
121
  - - ">="
123
122
  - !ruby/object:Gem::Version
124
- version: '2.7'
123
+ version: '3.0'
125
124
  required_rubygems_version: !ruby/object:Gem::Requirement
126
125
  requirements:
127
126
  - - ">="
128
127
  - !ruby/object:Gem::Version
129
128
  version: '0'
130
129
  requirements: []
131
- rubygems_version: 3.5.23
132
- signing_key:
130
+ rubygems_version: 3.6.3
133
131
  specification_version: 4
134
132
  summary: Cloud Spanner is a managed, mission-critical, globally consistent and scalable
135
133
  relational database service.