google-cloud-secret_manager-v1 0.20.0 → 0.21.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: d620f2f91286a58c0799cca6392763bc85a01609aad19fa9c11fc262ea956060
4
- data.tar.gz: 5e76a5f2fe3734d2b87b976587046df1b70869a2101f1628fb751352e6c816dc
3
+ metadata.gz: e14f00d79c963132ac6c5a1dd4db9a530e05ea53fd2a9ca5d3f5171d6739c6ce
4
+ data.tar.gz: 71a804211365c56c0366456f641e3810e5f264a743b5dde6006e1a9199e44234
5
5
  SHA512:
6
- metadata.gz: 819bbbca714336d331d46806327f55908a526fcb93361fdf8e4cc1e18b5c3e829d4ebcc1b76987d8daf555aef132ebbff99554907c0455bfcb282c9e8b4ec983
7
- data.tar.gz: 9739ee5892bcc544494689971cfc0abc03e31387b4d51f6d02cb422abddd262b91d22048dcd4bc75fc179ccfd5c7352bf8aa5a07ab177c6f13e842ad6d9127bd
6
+ metadata.gz: d4a8dd5a0696f24010e3c477d8f811641ae3a5aa2ac583b5e6b98b8d72875123ae3d1ccae813d28387ee4b43e3c6504c03d95326fb0095681ad82bb05140da1c
7
+ data.tar.gz: 99b362203624e012e3f1dde0f911fef36b6f539596fd93bbd1bf011fbddf64c6901a9439f7226ca121f026de014c14112c98825e2e377b90d994c1e5718adfc0
@@ -0,0 +1,102 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/config"
20
+
21
+ module Google
22
+ module Cloud
23
+ module SecretManager
24
+ ##
25
+ # @example Loading just the REST part of this package, including all its services, and instantiating a REST client
26
+ #
27
+ # require "google/cloud/secret_manager/v1/rest"
28
+ # client = ::Google::Cloud::SecretManager::V1::SecretManagerService::Rest::Client.new
29
+ #
30
+ module V1
31
+ ##
32
+ # @private
33
+ # Initialize the mixin bindings configuration
34
+ #
35
+ def self.configure
36
+ @configure ||= begin
37
+ namespace = ["Google", "Cloud", "SecretManager"]
38
+ parent_config = while namespace.any?
39
+ parent_name = namespace.join "::"
40
+ parent_const = const_get parent_name
41
+ break parent_const.configure if parent_const.respond_to? :configure
42
+ namespace.pop
43
+ end
44
+
45
+ default_config = Configuration.new parent_config
46
+ default_config.bindings_override["google.cloud.location.Locations.GetLocation"] = [
47
+ Gapic::Rest::GrpcTranscoder::HttpBinding.create_with_validation(
48
+ uri_method: :get,
49
+ uri_template: "/v1/{name}",
50
+ matches: [
51
+ ["name", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
52
+ ],
53
+ body: nil
54
+ )
55
+ ]
56
+ default_config.bindings_override["google.cloud.location.Locations.ListLocations"] = [
57
+
58
+ Gapic::Rest::GrpcTranscoder::HttpBinding.create_with_validation(
59
+ uri_method: :get,
60
+ uri_template: "/v1/{name}/locations",
61
+ matches: [
62
+ ["name", %r{^projects/[^/]+/?$}, false]
63
+ ],
64
+ body: nil
65
+ )
66
+ ]
67
+ default_config
68
+ end
69
+ yield @configure if block_given?
70
+ @configure
71
+ end
72
+
73
+ ##
74
+ # @private
75
+ # Configuration class for the google.cloud.secretmanager.v1 package.
76
+ #
77
+ # This class contains common configuration for all services
78
+ # of the google.cloud.secretmanager.v1 package.
79
+ #
80
+ # This configuration is for internal use of the client library classes,
81
+ # and it is not intended that the end-users will read or change it.
82
+ #
83
+ class Configuration
84
+ extend ::Gapic::Config
85
+
86
+ # @private
87
+ # Overrides for http bindings for the RPC of the mixins for this package.
88
+ # Services in this package should use these when creating clients for the mixin services.
89
+ # @return [::Hash{::Symbol=>::Array<::Gapic::Rest::GrpcTranscoder::HttpBinding>}]
90
+ config_attr :bindings_override, {}, ::Hash, nil
91
+
92
+ # @private
93
+ def initialize parent_config = nil
94
+ @parent_config = parent_config unless parent_config.nil?
95
+
96
+ yield self if block_given?
97
+ end
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
@@ -17,6 +17,7 @@
17
17
  # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
18
 
19
19
  require "google/cloud/secret_manager/v1/secret_manager_service/rest"
20
+ require "google/cloud/secret_manager/v1/bindings_override"
20
21
  require "google/cloud/secret_manager/v1/version"
21
22
 
22
23
  module Google
@@ -18,6 +18,7 @@
18
18
 
19
19
  require "google/cloud/errors"
20
20
  require "google/cloud/secretmanager/v1/service_pb"
21
+ require "google/cloud/location"
21
22
 
22
23
  module Google
23
24
  module Cloud
@@ -195,8 +196,22 @@ module Google
195
196
  interceptors: @config.interceptors,
196
197
  channel_pool_config: @config.channel_pool
197
198
  )
199
+
200
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
201
+ config.credentials = credentials
202
+ config.quota_project = @quota_project_id
203
+ config.endpoint = @secret_manager_service_stub.endpoint
204
+ config.universe_domain = @secret_manager_service_stub.universe_domain
205
+ end
198
206
  end
199
207
 
208
+ ##
209
+ # Get the associated client for mix-in of the Locations.
210
+ #
211
+ # @return [Google::Cloud::Location::Locations::Client]
212
+ #
213
+ attr_reader :location_client
214
+
200
215
  # Service calls
201
216
 
202
217
  ##
@@ -219,7 +234,8 @@ module Google
219
234
  #
220
235
  # @param parent [::String]
221
236
  # Required. The resource name of the project associated with the
222
- # {::Google::Cloud::SecretManager::V1::Secret Secrets}, in the format `projects/*`.
237
+ # {::Google::Cloud::SecretManager::V1::Secret Secrets}, in the format `projects/*`
238
+ # or `projects/*/locations/*`
223
239
  # @param page_size [::Integer]
224
240
  # Optional. The maximum number of results to be returned in a single page. If
225
241
  # set to 0, the server decides the number of results to return. If the
@@ -304,7 +320,8 @@ module Google
304
320
  end
305
321
 
306
322
  ##
307
- # Creates a new {::Google::Cloud::SecretManager::V1::Secret Secret} containing no {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersions}.
323
+ # Creates a new {::Google::Cloud::SecretManager::V1::Secret Secret} containing no
324
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersions}.
308
325
  #
309
326
  # @overload create_secret(request, options = nil)
310
327
  # Pass arguments to `create_secret` via a request object, either of type
@@ -323,7 +340,8 @@ module Google
323
340
  #
324
341
  # @param parent [::String]
325
342
  # Required. The resource name of the project to associate with the
326
- # {::Google::Cloud::SecretManager::V1::Secret Secret}, in the format `projects/*`.
343
+ # {::Google::Cloud::SecretManager::V1::Secret Secret}, in the format `projects/*`
344
+ # or `projects/*/locations/*`.
327
345
  # @param secret_id [::String]
328
346
  # Required. This must be unique within the project.
329
347
  #
@@ -331,7 +349,8 @@ module Google
331
349
  # contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and
332
350
  # underscore (`_`) characters.
333
351
  # @param secret [::Google::Cloud::SecretManager::V1::Secret, ::Hash]
334
- # Required. A {::Google::Cloud::SecretManager::V1::Secret Secret} with initial field values.
352
+ # Required. A {::Google::Cloud::SecretManager::V1::Secret Secret} with initial
353
+ # field values.
335
354
  #
336
355
  # @yield [response, operation] Access the result along with the RPC operation
337
356
  # @yieldparam response [::Google::Cloud::SecretManager::V1::Secret]
@@ -398,8 +417,9 @@ module Google
398
417
  end
399
418
 
400
419
  ##
401
- # Creates a new {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} containing secret data and attaches
402
- # it to an existing {::Google::Cloud::SecretManager::V1::Secret Secret}.
420
+ # Creates a new {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}
421
+ # containing secret data and attaches it to an existing
422
+ # {::Google::Cloud::SecretManager::V1::Secret Secret}.
403
423
  #
404
424
  # @overload add_secret_version(request, options = nil)
405
425
  # Pass arguments to `add_secret_version` via a request object, either of type
@@ -417,10 +437,13 @@ module Google
417
437
  # the default parameter values, pass an empty Hash as a request object (see above).
418
438
  #
419
439
  # @param parent [::String]
420
- # Required. The resource name of the {::Google::Cloud::SecretManager::V1::Secret Secret} to associate with the
421
- # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format `projects/*/secrets/*`.
440
+ # Required. The resource name of the
441
+ # {::Google::Cloud::SecretManager::V1::Secret Secret} to associate with the
442
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
443
+ # `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.
422
444
  # @param payload [::Google::Cloud::SecretManager::V1::SecretPayload, ::Hash]
423
- # Required. The secret payload of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
445
+ # Required. The secret payload of the
446
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
424
447
  #
425
448
  # @yield [response, operation] Access the result along with the RPC operation
426
449
  # @yieldparam response [::Google::Cloud::SecretManager::V1::SecretVersion]
@@ -505,7 +528,9 @@ module Google
505
528
  # the default parameter values, pass an empty Hash as a request object (see above).
506
529
  #
507
530
  # @param name [::String]
508
- # Required. The resource name of the {::Google::Cloud::SecretManager::V1::Secret Secret}, in the format `projects/*/secrets/*`.
531
+ # Required. The resource name of the
532
+ # {::Google::Cloud::SecretManager::V1::Secret Secret}, in the format
533
+ # `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.
509
534
  #
510
535
  # @yield [response, operation] Access the result along with the RPC operation
511
536
  # @yieldparam response [::Google::Cloud::SecretManager::V1::Secret]
@@ -572,7 +597,8 @@ module Google
572
597
  end
573
598
 
574
599
  ##
575
- # Updates metadata of an existing {::Google::Cloud::SecretManager::V1::Secret Secret}.
600
+ # Updates metadata of an existing
601
+ # {::Google::Cloud::SecretManager::V1::Secret Secret}.
576
602
  #
577
603
  # @overload update_secret(request, options = nil)
578
604
  # Pass arguments to `update_secret` via a request object, either of type
@@ -590,7 +616,8 @@ module Google
590
616
  # the default parameter values, pass an empty Hash as a request object (see above).
591
617
  #
592
618
  # @param secret [::Google::Cloud::SecretManager::V1::Secret, ::Hash]
593
- # Required. {::Google::Cloud::SecretManager::V1::Secret Secret} with updated field values.
619
+ # Required. {::Google::Cloud::SecretManager::V1::Secret Secret} with updated field
620
+ # values.
594
621
  # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
595
622
  # Required. Specifies the fields to be updated.
596
623
  #
@@ -677,12 +704,13 @@ module Google
677
704
  # the default parameter values, pass an empty Hash as a request object (see above).
678
705
  #
679
706
  # @param name [::String]
680
- # Required. The resource name of the {::Google::Cloud::SecretManager::V1::Secret Secret} to delete in the format
707
+ # Required. The resource name of the
708
+ # {::Google::Cloud::SecretManager::V1::Secret Secret} to delete in the format
681
709
  # `projects/*/secrets/*`.
682
710
  # @param etag [::String]
683
- # Optional. Etag of the {::Google::Cloud::SecretManager::V1::Secret Secret}. The request succeeds if it matches
684
- # the etag of the currently stored secret object. If the etag is omitted,
685
- # the request succeeds.
711
+ # Optional. Etag of the {::Google::Cloud::SecretManager::V1::Secret Secret}. The
712
+ # request succeeds if it matches the etag of the currently stored secret
713
+ # object. If the etag is omitted, the request succeeds.
686
714
  #
687
715
  # @yield [response, operation] Access the result along with the RPC operation
688
716
  # @yieldparam response [::Google::Protobuf::Empty]
@@ -749,8 +777,8 @@ module Google
749
777
  end
750
778
 
751
779
  ##
752
- # Lists {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersions}. This call does not return secret
753
- # data.
780
+ # Lists {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersions}. This
781
+ # call does not return secret data.
754
782
  #
755
783
  # @overload list_secret_versions(request, options = nil)
756
784
  # Pass arguments to `list_secret_versions` via a request object, either of type
@@ -768,9 +796,10 @@ module Google
768
796
  # the default parameter values, pass an empty Hash as a request object (see above).
769
797
  #
770
798
  # @param parent [::String]
771
- # Required. The resource name of the {::Google::Cloud::SecretManager::V1::Secret Secret} associated with the
772
- # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersions} to list, in the format
773
- # `projects/*/secrets/*`.
799
+ # Required. The resource name of the
800
+ # {::Google::Cloud::SecretManager::V1::Secret Secret} associated with the
801
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersions} to list, in
802
+ # the format `projects/*/secrets/*` or `projects/*/locations/*/secrets/*`.
774
803
  # @param page_size [::Integer]
775
804
  # Optional. The maximum number of results to be returned in a single page. If
776
805
  # set to 0, the server decides the number of results to return. If the
@@ -855,7 +884,8 @@ module Google
855
884
  end
856
885
 
857
886
  ##
858
- # Gets metadata for a {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
887
+ # Gets metadata for a
888
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
859
889
  #
860
890
  # `projects/*/secrets/*/versions/latest` is an alias to the most recently
861
891
  # created {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
@@ -876,11 +906,15 @@ module Google
876
906
  # the default parameter values, pass an empty Hash as a request object (see above).
877
907
  #
878
908
  # @param name [::String]
879
- # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
880
- # `projects/*/secrets/*/versions/*`.
909
+ # Required. The resource name of the
910
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
911
+ # `projects/*/secrets/*/versions/*` or
912
+ # `projects/*/locations/*/secrets/*/versions/*`.
881
913
  #
882
- # `projects/*/secrets/*/versions/latest` is an alias to the most recently
883
- # created {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
914
+ # `projects/*/secrets/*/versions/latest` or
915
+ # `projects/*/locations/*/secrets/*/versions/latest` is an alias to the most
916
+ # recently created
917
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
884
918
  #
885
919
  # @yield [response, operation] Access the result along with the RPC operation
886
920
  # @yieldparam response [::Google::Cloud::SecretManager::V1::SecretVersion]
@@ -947,7 +981,8 @@ module Google
947
981
  end
948
982
 
949
983
  ##
950
- # Accesses a {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. This call returns the secret data.
984
+ # Accesses a {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
985
+ # This call returns the secret data.
951
986
  #
952
987
  # `projects/*/secrets/*/versions/latest` is an alias to the most recently
953
988
  # created {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
@@ -968,11 +1003,15 @@ module Google
968
1003
  # the default parameter values, pass an empty Hash as a request object (see above).
969
1004
  #
970
1005
  # @param name [::String]
971
- # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
972
- # `projects/*/secrets/*/versions/*`.
1006
+ # Required. The resource name of the
1007
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
1008
+ # `projects/*/secrets/*/versions/*` or
1009
+ # `projects/*/locations/*/secrets/*/versions/*`.
973
1010
  #
974
- # `projects/*/secrets/*/versions/latest` is an alias to the most recently
975
- # created {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
1011
+ # `projects/*/secrets/*/versions/latest` or
1012
+ # `projects/*/locations/*/secrets/*/versions/latest` is an alias to the most
1013
+ # recently created
1014
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
976
1015
  #
977
1016
  # @yield [response, operation] Access the result along with the RPC operation
978
1017
  # @yieldparam response [::Google::Cloud::SecretManager::V1::AccessSecretVersionResponse]
@@ -1041,7 +1080,8 @@ module Google
1041
1080
  ##
1042
1081
  # Disables a {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
1043
1082
  #
1044
- # Sets the {::Google::Cloud::SecretManager::V1::SecretVersion#state state} of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to
1083
+ # Sets the {::Google::Cloud::SecretManager::V1::SecretVersion#state state} of the
1084
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to
1045
1085
  # {::Google::Cloud::SecretManager::V1::SecretVersion::State::DISABLED DISABLED}.
1046
1086
  #
1047
1087
  # @overload disable_secret_version(request, options = nil)
@@ -1060,12 +1100,15 @@ module Google
1060
1100
  # the default parameter values, pass an empty Hash as a request object (see above).
1061
1101
  #
1062
1102
  # @param name [::String]
1063
- # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to disable in the format
1064
- # `projects/*/secrets/*/versions/*`.
1103
+ # Required. The resource name of the
1104
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to disable in
1105
+ # the format `projects/*/secrets/*/versions/*` or
1106
+ # `projects/*/locations/*/secrets/*/versions/*`.
1065
1107
  # @param etag [::String]
1066
- # Optional. Etag of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request succeeds if it matches
1067
- # the etag of the currently stored secret version object. If the etag is
1068
- # omitted, the request succeeds.
1108
+ # Optional. Etag of the
1109
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request
1110
+ # succeeds if it matches the etag of the currently stored secret version
1111
+ # object. If the etag is omitted, the request succeeds.
1069
1112
  #
1070
1113
  # @yield [response, operation] Access the result along with the RPC operation
1071
1114
  # @yieldparam response [::Google::Cloud::SecretManager::V1::SecretVersion]
@@ -1134,7 +1177,8 @@ module Google
1134
1177
  ##
1135
1178
  # Enables a {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
1136
1179
  #
1137
- # Sets the {::Google::Cloud::SecretManager::V1::SecretVersion#state state} of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to
1180
+ # Sets the {::Google::Cloud::SecretManager::V1::SecretVersion#state state} of the
1181
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to
1138
1182
  # {::Google::Cloud::SecretManager::V1::SecretVersion::State::ENABLED ENABLED}.
1139
1183
  #
1140
1184
  # @overload enable_secret_version(request, options = nil)
@@ -1153,12 +1197,15 @@ module Google
1153
1197
  # the default parameter values, pass an empty Hash as a request object (see above).
1154
1198
  #
1155
1199
  # @param name [::String]
1156
- # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to enable in the format
1157
- # `projects/*/secrets/*/versions/*`.
1200
+ # Required. The resource name of the
1201
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to enable in
1202
+ # the format `projects/*/secrets/*/versions/*` or
1203
+ # `projects/*/locations/*/secrets/*/versions/*`.
1158
1204
  # @param etag [::String]
1159
- # Optional. Etag of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request succeeds if it matches
1160
- # the etag of the currently stored secret version object. If the etag is
1161
- # omitted, the request succeeds.
1205
+ # Optional. Etag of the
1206
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request
1207
+ # succeeds if it matches the etag of the currently stored secret version
1208
+ # object. If the etag is omitted, the request succeeds.
1162
1209
  #
1163
1210
  # @yield [response, operation] Access the result along with the RPC operation
1164
1211
  # @yieldparam response [::Google::Cloud::SecretManager::V1::SecretVersion]
@@ -1227,9 +1274,10 @@ module Google
1227
1274
  ##
1228
1275
  # Destroys a {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
1229
1276
  #
1230
- # Sets the {::Google::Cloud::SecretManager::V1::SecretVersion#state state} of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to
1231
- # {::Google::Cloud::SecretManager::V1::SecretVersion::State::DESTROYED DESTROYED} and irrevocably destroys the
1232
- # secret data.
1277
+ # Sets the {::Google::Cloud::SecretManager::V1::SecretVersion#state state} of the
1278
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to
1279
+ # {::Google::Cloud::SecretManager::V1::SecretVersion::State::DESTROYED DESTROYED}
1280
+ # and irrevocably destroys the secret data.
1233
1281
  #
1234
1282
  # @overload destroy_secret_version(request, options = nil)
1235
1283
  # Pass arguments to `destroy_secret_version` via a request object, either of type
@@ -1247,12 +1295,15 @@ module Google
1247
1295
  # the default parameter values, pass an empty Hash as a request object (see above).
1248
1296
  #
1249
1297
  # @param name [::String]
1250
- # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to destroy in the format
1251
- # `projects/*/secrets/*/versions/*`.
1298
+ # Required. The resource name of the
1299
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to destroy in
1300
+ # the format `projects/*/secrets/*/versions/*` or
1301
+ # `projects/*/locations/*/secrets/*/versions/*`.
1252
1302
  # @param etag [::String]
1253
- # Optional. Etag of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request succeeds if it matches
1254
- # the etag of the currently stored secret version object. If the etag is
1255
- # omitted, the request succeeds.
1303
+ # Optional. Etag of the
1304
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request
1305
+ # succeeds if it matches the etag of the currently stored secret version
1306
+ # object. If the etag is omitted, the request succeeds.
1256
1307
  #
1257
1308
  # @yield [response, operation] Access the result along with the RPC operation
1258
1309
  # @yieldparam response [::Google::Cloud::SecretManager::V1::SecretVersion]
@@ -1322,8 +1373,10 @@ module Google
1322
1373
  # Sets the access control policy on the specified secret. Replaces any
1323
1374
  # existing policy.
1324
1375
  #
1325
- # Permissions on {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersions} are enforced according
1326
- # to the policy set on the associated {::Google::Cloud::SecretManager::V1::Secret Secret}.
1376
+ # Permissions on
1377
+ # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersions} are enforced
1378
+ # according to the policy set on the associated
1379
+ # {::Google::Cloud::SecretManager::V1::Secret Secret}.
1327
1380
  #
1328
1381
  # @overload set_iam_policy(request, options = nil)
1329
1382
  # Pass arguments to `set_iam_policy` via a request object, either of type
@@ -24,6 +24,23 @@ module Google
24
24
  module SecretManagerService
25
25
  # Path helper methods for the SecretManagerService API.
26
26
  module Paths
27
+ ##
28
+ # Create a fully-qualified Location resource string.
29
+ #
30
+ # The resource will be in the following format:
31
+ #
32
+ # `projects/{project}/locations/{location}`
33
+ #
34
+ # @param project [String]
35
+ # @param location [String]
36
+ #
37
+ # @return [::String]
38
+ def location_path project:, location:
39
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
40
+
41
+ "projects/#{project}/locations/#{location}"
42
+ end
43
+
27
44
  ##
28
45
  # Create a fully-qualified Project resource string.
29
46
  #
@@ -41,37 +58,87 @@ module Google
41
58
  ##
42
59
  # Create a fully-qualified Secret resource string.
43
60
  #
44
- # The resource will be in the following format:
61
+ # @overload secret_path(project:, secret:)
62
+ # The resource will be in the following format:
45
63
  #
46
- # `projects/{project}/secrets/{secret}`
64
+ # `projects/{project}/secrets/{secret}`
47
65
  #
48
- # @param project [String]
49
- # @param secret [String]
66
+ # @param project [String]
67
+ # @param secret [String]
68
+ #
69
+ # @overload secret_path(project:, location:, secret:)
70
+ # The resource will be in the following format:
71
+ #
72
+ # `projects/{project}/locations/{location}/secrets/{secret}`
73
+ #
74
+ # @param project [String]
75
+ # @param location [String]
76
+ # @param secret [String]
50
77
  #
51
78
  # @return [::String]
52
- def secret_path project:, secret:
53
- raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
79
+ def secret_path **args
80
+ resources = {
81
+ "project:secret" => (proc do |project:, secret:|
82
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
54
83
 
55
- "projects/#{project}/secrets/#{secret}"
84
+ "projects/#{project}/secrets/#{secret}"
85
+ end),
86
+ "location:project:secret" => (proc do |project:, location:, secret:|
87
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
88
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
89
+
90
+ "projects/#{project}/locations/#{location}/secrets/#{secret}"
91
+ end)
92
+ }
93
+
94
+ resource = resources[args.keys.sort.join(":")]
95
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
96
+ resource.call(**args)
56
97
  end
57
98
 
58
99
  ##
59
100
  # Create a fully-qualified SecretVersion resource string.
60
101
  #
61
- # The resource will be in the following format:
102
+ # @overload secret_version_path(project:, secret:, secret_version:)
103
+ # The resource will be in the following format:
62
104
  #
63
- # `projects/{project}/secrets/{secret}/versions/{secret_version}`
105
+ # `projects/{project}/secrets/{secret}/versions/{secret_version}`
64
106
  #
65
- # @param project [String]
66
- # @param secret [String]
67
- # @param secret_version [String]
107
+ # @param project [String]
108
+ # @param secret [String]
109
+ # @param secret_version [String]
110
+ #
111
+ # @overload secret_version_path(project:, location:, secret:, secret_version:)
112
+ # The resource will be in the following format:
113
+ #
114
+ # `projects/{project}/locations/{location}/secrets/{secret}/versions/{secret_version}`
115
+ #
116
+ # @param project [String]
117
+ # @param location [String]
118
+ # @param secret [String]
119
+ # @param secret_version [String]
68
120
  #
69
121
  # @return [::String]
70
- def secret_version_path project:, secret:, secret_version:
71
- raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
72
- raise ::ArgumentError, "secret cannot contain /" if secret.to_s.include? "/"
122
+ def secret_version_path **args
123
+ resources = {
124
+ "project:secret:secret_version" => (proc do |project:, secret:, secret_version:|
125
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
126
+ raise ::ArgumentError, "secret cannot contain /" if secret.to_s.include? "/"
127
+
128
+ "projects/#{project}/secrets/#{secret}/versions/#{secret_version}"
129
+ end),
130
+ "location:project:secret:secret_version" => (proc do |project:, location:, secret:, secret_version:|
131
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
132
+ raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
133
+ raise ::ArgumentError, "secret cannot contain /" if secret.to_s.include? "/"
134
+
135
+ "projects/#{project}/locations/#{location}/secrets/#{secret}/versions/#{secret_version}"
136
+ end)
137
+ }
73
138
 
74
- "projects/#{project}/secrets/#{secret}/versions/#{secret_version}"
139
+ resource = resources[args.keys.sort.join(":")]
140
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
141
+ resource.call(**args)
75
142
  end
76
143
 
77
144
  ##