google-cloud-secret_manager-v1 0.7.0 → 0.10.2

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: 7bcdf78cb2b205a597e8367aba77137789f863732cdf97dd3121de1bf05407a7
4
- data.tar.gz: 3a2e2e48afa0b3d68216e7ddccff4923bdf127760c3a30eb3dfcc483b08658ca
3
+ metadata.gz: 246b4d7aa90a677c68cea7fd96f6e2844a9d6be1e0689a6364ee3c443ece453b
4
+ data.tar.gz: 358beba0cc3cf13193ca8764aaf284b064736e424ed3953a6ee96d925aed0f47
5
5
  SHA512:
6
- metadata.gz: 709f5a0f603e6c139fca069eac51c1f3dc2b978343887513c77ede8ae71726ccd742795b0de9a359670396f77f99c65752c67a715b1dc1e073c2643de845ba94
7
- data.tar.gz: 424cadc62a93651c9ef942b0419e118fed3ba0609d45d832cb6aa1f8e8b226239b7bcc39fb148f4404076cf4ef346c9024af50823a80ad611101a737549014f0
6
+ metadata.gz: c2c9d1e1a99daa54773d35165b14d29a170909e5ded6277b950f6fba9b1160f243fa5b3127a0c3210fab86e0cfbb714e791aed8080a6a42768fd9abf2f933348
7
+ data.tar.gz: 195e709756b96f93d22c38c508031fc616b65120ecba425a3b2a4a61feae94680f5101624f00d9d1c678d092608854a836e20338eb32d2c93d980ceae70a46d1
data/AUTHENTICATION.md CHANGED
@@ -66,11 +66,11 @@ The environment variables that google-cloud-secret_manager-v1
66
66
  checks for credentials are configured on the service Credentials class (such as
67
67
  {::Google::Cloud::SecretManager::V1::SecretManagerService::Credentials}):
68
68
 
69
- 1. `SECRET_MANAGER_CREDENTIALS` - Path to JSON file, or JSON contents
70
- 2. `SECRET_MANAGER_KEYFILE` - Path to JSON file, or JSON contents
71
- 3. `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
72
- 4. `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
73
- 5. `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
69
+ * `SECRET_MANAGER_CREDENTIALS` - Path to JSON file, or JSON contents
70
+ * `SECRET_MANAGER_KEYFILE` - Path to JSON file, or JSON contents
71
+ * `GOOGLE_CLOUD_CREDENTIALS` - Path to JSON file, or JSON contents
72
+ * `GOOGLE_CLOUD_KEYFILE` - Path to JSON file, or JSON contents
73
+ * `GOOGLE_APPLICATION_CREDENTIALS` - Path to JSON file
74
74
 
75
75
  ```ruby
76
76
  require "google/cloud/secret_manager/v1"
@@ -82,8 +82,8 @@ client = ::Google::Cloud::SecretManager::V1::SecretManagerService::Client.new
82
82
 
83
83
  ### Configuration
84
84
 
85
- The **Credentials JSON** can be configured instead of placing them in
86
- environment variables. Either on an individual client initialization:
85
+ The path to the **Credentials JSON** file can be configured instead of storing
86
+ it in an environment variable. Either on an individual client initialization:
87
87
 
88
88
  ```ruby
89
89
  require "google/cloud/secret_manager/v1"
@@ -93,7 +93,7 @@ client = ::Google::Cloud::SecretManager::V1::SecretManagerService::Client.new do
93
93
  end
94
94
  ```
95
95
 
96
- Or configured globally for all clients:
96
+ Or globally for all clients:
97
97
 
98
98
  ```ruby
99
99
  require "google/cloud/secret_manager/v1"
data/LICENSE.md CHANGED
@@ -1,192 +1,190 @@
1
- Apache License
2
- ==============
3
-
4
- * Version 2.0, January 2004
5
- * https://www.apache.org/licenses/
6
-
7
- ### TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
8
-
9
- 1. **Definitions.**
10
-
11
- "License" shall mean the terms and conditions for use, reproduction,
12
- and distribution as defined by Sections 1 through 9 of this document.
13
-
14
- "Licensor" shall mean the copyright owner or entity authorized by
15
- the copyright owner that is granting the License.
16
-
17
- "Legal Entity" shall mean the union of the acting entity and all
18
- other entities that control, are controlled by, or are under common
19
- control with that entity. For the purposes of this definition,
20
- "control" means (i) the power, direct or indirect, to cause the
21
- direction or management of such entity, whether by contract or
22
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
23
- outstanding shares, or (iii) beneficial ownership of such entity.
24
-
25
- "You" (or "Your") shall mean an individual or Legal Entity
26
- exercising permissions granted by this License.
27
-
28
- "Source" form shall mean the preferred form for making modifications,
29
- including but not limited to software source code, documentation
30
- source, and configuration files.
31
-
32
- "Object" form shall mean any form resulting from mechanical
33
- transformation or translation of a Source form, including but
34
- not limited to compiled object code, generated documentation,
35
- and conversions to other media types.
36
-
37
- "Work" shall mean the work of authorship, whether in Source or
38
- Object form, made available under the License, as indicated by a
39
- copyright notice that is included in or attached to the work
40
- (an example is provided in the Appendix below).
41
-
42
- "Derivative Works" shall mean any work, whether in Source or Object
43
- form, that is based on (or derived from) the Work and for which the
44
- editorial revisions, annotations, elaborations, or other modifications
45
- represent, as a whole, an original work of authorship. For the purposes
46
- of this License, Derivative Works shall not include works that remain
47
- separable from, or merely link (or bind by name) to the interfaces of,
48
- the Work and Derivative Works thereof.
49
-
50
- "Contribution" shall mean any work of authorship, including
51
- the original version of the Work and any modifications or additions
52
- to that Work or Derivative Works thereof, that is intentionally
53
- submitted to Licensor for inclusion in the Work by the copyright owner
54
- or by an individual or Legal Entity authorized to submit on behalf of
55
- the copyright owner. For the purposes of this definition, "submitted"
56
- means any form of electronic, verbal, or written communication sent
57
- to the Licensor or its representatives, including but not limited to
58
- communication on electronic mailing lists, source code control systems,
59
- and issue tracking systems that are managed by, or on behalf of, the
60
- Licensor for the purpose of discussing and improving the Work, but
61
- excluding communication that is conspicuously marked or otherwise
62
- designated in writing by the copyright owner as "Not a Contribution."
63
-
64
- "Contributor" shall mean Licensor and any individual or Legal Entity
65
- on behalf of whom a Contribution has been received by Licensor and
66
- subsequently incorporated within the Work.
67
-
68
- 2. **Grant of Copyright License.** Subject to the terms and conditions of
69
- this License, each Contributor hereby grants to You a perpetual,
70
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
71
- copyright license to reproduce, prepare Derivative Works of,
72
- publicly display, publicly perform, sublicense, and distribute the
73
- Work and such Derivative Works in Source or Object form.
74
-
75
- 3. **Grant of Patent License.** Subject to the terms and conditions of
76
- this License, each Contributor hereby grants to You a perpetual,
77
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
78
- (except as stated in this section) patent license to make, have made,
79
- use, offer to sell, sell, import, and otherwise transfer the Work,
80
- where such license applies only to those patent claims licensable
81
- by such Contributor that are necessarily infringed by their
82
- Contribution(s) alone or by combination of their Contribution(s)
83
- with the Work to which such Contribution(s) was submitted. If You
84
- institute patent litigation against any entity (including a
85
- cross-claim or counterclaim in a lawsuit) alleging that the Work
86
- or a Contribution incorporated within the Work constitutes direct
87
- or contributory patent infringement, then any patent licenses
88
- granted to You under this License for that Work shall terminate
89
- as of the date such litigation is filed.
90
-
91
- 4. **Redistribution.** You may reproduce and distribute copies of the
92
- Work or Derivative Works thereof in any medium, with or without
93
- modifications, and in Source or Object form, provided that You
94
- meet the following conditions:
95
-
96
- * **(a)** You must give any other recipients of the Work or
97
- Derivative Works a copy of this License; and
98
-
99
- * **(b)** You must cause any modified files to carry prominent notices
100
- stating that You changed the files; and
101
-
102
- * **(c)** You must retain, in the Source form of any Derivative Works
103
- that You distribute, all copyright, patent, trademark, and
104
- attribution notices from the Source form of the Work,
105
- excluding those notices that do not pertain to any part of
106
- the Derivative Works; and
107
-
108
- * **(d)** If the Work includes a "NOTICE" text file as part of its
109
- distribution, then any Derivative Works that You distribute must
110
- include a readable copy of the attribution notices contained
111
- within such NOTICE file, excluding those notices that do not
112
- pertain to any part of the Derivative Works, in at least one
113
- of the following places: within a NOTICE text file distributed
114
- as part of the Derivative Works; within the Source form or
115
- documentation, if provided along with the Derivative Works; or,
116
- within a display generated by the Derivative Works, if and
117
- wherever such third-party notices normally appear. The contents
118
- of the NOTICE file are for informational purposes only and
119
- do not modify the License. You may add Your own attribution
120
- notices within Derivative Works that You distribute, alongside
121
- or as an addendum to the NOTICE text from the Work, provided
122
- that such additional attribution notices cannot be construed
123
- as modifying the License.
124
-
125
- You may add Your own copyright statement to Your modifications and
126
- may provide additional or different license terms and conditions
127
- for use, reproduction, or distribution of Your modifications, or
128
- for any such Derivative Works as a whole, provided Your use,
129
- reproduction, and distribution of the Work otherwise complies with
130
- the conditions stated in this License.
131
-
132
- 5. **Submission of Contributions.** Unless You explicitly state otherwise,
133
- any Contribution intentionally submitted for inclusion in the Work
134
- by You to the Licensor shall be under the terms and conditions of
135
- this License, without any additional terms or conditions.
136
- Notwithstanding the above, nothing herein shall supersede or modify
137
- the terms of any separate license agreement you may have executed
138
- with Licensor regarding such Contributions.
139
-
140
- 6. **Trademarks.** This License does not grant permission to use the trade
141
- names, trademarks, service marks, or product names of the Licensor,
142
- except as required for reasonable and customary use in describing the
143
- origin of the Work and reproducing the content of the NOTICE file.
144
-
145
- 7. **Disclaimer of Warranty.** Unless required by applicable law or
146
- agreed to in writing, Licensor provides the Work (and each
147
- Contributor provides its Contributions) on an "AS IS" BASIS,
148
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
149
- implied, including, without limitation, any warranties or conditions
150
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
151
- PARTICULAR PURPOSE. You are solely responsible for determining the
152
- appropriateness of using or redistributing the Work and assume any
153
- risks associated with Your exercise of permissions under this License.
154
-
155
- 8. **Limitation of Liability.** In no event and under no legal theory,
156
- whether in tort (including negligence), contract, or otherwise,
157
- unless required by applicable law (such as deliberate and grossly
158
- negligent acts) or agreed to in writing, shall any Contributor be
159
- liable to You for damages, including any direct, indirect, special,
160
- incidental, or consequential damages of any character arising as a
161
- result of this License or out of the use or inability to use the
162
- Work (including but not limited to damages for loss of goodwill,
163
- work stoppage, computer failure or malfunction, or any and all
164
- other commercial damages or losses), even if such Contributor
165
- has been advised of the possibility of such damages.
166
-
167
- 9. **Accepting Warranty or Additional Liability.** While redistributing
168
- the Work or Derivative Works thereof, You may choose to offer,
169
- and charge a fee for, acceptance of support, warranty, indemnity,
170
- or other liability obligations and/or rights consistent with this
171
- License. However, in accepting such obligations, You may act only
172
- on Your own behalf and on Your sole responsibility, not on behalf
173
- of any other Contributor, and only if You agree to indemnify,
174
- defend, and hold each Contributor harmless for any liability
175
- incurred by, or claims asserted against, such Contributor by reason
176
- of your accepting any such warranty or additional liability.
177
-
178
- _END OF TERMS AND CONDITIONS_
179
-
180
- ### APPENDIX: How to apply the Apache License to your work.
181
-
182
- To apply the Apache License to your work, attach the following
183
- boilerplate notice, with the fields enclosed by brackets "`[]`"
184
- replaced with your own identifying information. (Don't include
185
- the brackets!) The text should be enclosed in the appropriate
186
- comment syntax for the file format. We also recommend that a
187
- file or class name and description of purpose be included on the
188
- same "printed page" as the copyright notice for easier
189
- identification within third-party archives.
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
190
188
 
191
189
  Copyright [yyyy] [name of copyright owner]
192
190
 
@@ -194,7 +192,7 @@ identification within third-party archives.
194
192
  you may not use this file except in compliance with the License.
195
193
  You may obtain a copy of the License at
196
194
 
197
- https://www.apache.org/licenses/LICENSE-2.0
195
+ http://www.apache.org/licenses/LICENSE-2.0
198
196
 
199
197
  Unless required by applicable law or agreed to in writing, software
200
198
  distributed under the License is distributed on an "AS IS" BASIS,
data/README.md CHANGED
@@ -33,7 +33,7 @@ In order to use this library, you first need to go through the following steps:
33
33
  require "google/cloud/secret_manager/v1"
34
34
 
35
35
  client = ::Google::Cloud::SecretManager::V1::SecretManagerService::Client.new
36
- request = my_create_request
36
+ request = ::Google::Cloud::SecretManager::V1::ListSecretsRequest.new # (request fields as keyword arguments...)
37
37
  response = client.list_secrets request
38
38
  ```
39
39
 
@@ -71,11 +71,11 @@ end
71
71
 
72
72
  ## Supported Ruby Versions
73
73
 
74
- This library is supported on Ruby 2.4+.
74
+ This library is supported on Ruby 2.5+.
75
75
 
76
76
  Google provides official support for Ruby versions that are actively supported
77
77
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
78
- in security maintenance, and not end of life. Currently, this means Ruby 2.4
78
+ in security maintenance, and not end of life. Currently, this means Ruby 2.5
79
79
  and later. Older versions of Ruby _may_ still work, but are unsupported and not
80
80
  recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
81
81
  about the Ruby support schedule.
@@ -66,7 +66,7 @@ module Google
66
66
  parent_config = while namespace.any?
67
67
  parent_name = namespace.join "::"
68
68
  parent_const = const_get parent_name
69
- break parent_const.configure if parent_const&.respond_to? :configure
69
+ break parent_const.configure if parent_const.respond_to? :configure
70
70
  namespace.pop
71
71
  end
72
72
  default_config = Client::Configuration.new parent_config
@@ -89,10 +89,7 @@ module Google
89
89
 
90
90
  default_config.rpcs.access_secret_version.timeout = 60.0
91
91
  default_config.rpcs.access_secret_version.retry_policy = {
92
- initial_delay: 1.0,
93
- max_delay: 60.0,
94
- multiplier: 1.3,
95
- retry_codes: [14, 2]
92
+ initial_delay: 2.0, max_delay: 60.0, multiplier: 2.0, retry_codes: [14, 8]
96
93
  }
97
94
 
98
95
  default_config.rpcs.disable_secret_version.timeout = 60.0
@@ -173,9 +170,9 @@ module Google
173
170
  enable_self_signed_jwt = @config.scope == Client.configure.scope &&
174
171
  @config.endpoint == Client.configure.endpoint &&
175
172
  !@config.endpoint.split(".").first.include?("-")
176
- credentials ||= Credentials.default scope: @config.scope,
173
+ credentials ||= Credentials.default scope: @config.scope,
177
174
  enable_self_signed_jwt: enable_self_signed_jwt
178
- if credentials.is_a?(String) || credentials.is_a?(Hash)
175
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
179
176
  credentials = Credentials.new credentials, scope: @config.scope
180
177
  end
181
178
  @quota_project_id = @config.quota_project
@@ -559,7 +556,7 @@ module Google
559
556
  # @param options [::Gapic::CallOptions, ::Hash]
560
557
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
561
558
  #
562
- # @overload delete_secret(name: nil)
559
+ # @overload delete_secret(name: nil, etag: nil)
563
560
  # Pass arguments to `delete_secret` via keyword arguments. Note that at
564
561
  # least one keyword argument is required. To specify no parameters, or to keep all
565
562
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -567,6 +564,10 @@ module Google
567
564
  # @param name [::String]
568
565
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::Secret Secret} to delete in the format
569
566
  # `projects/*/secrets/*`.
567
+ # @param etag [::String]
568
+ # Optional. Etag of the {::Google::Cloud::SecretManager::V1::Secret Secret}. The request succeeds if it matches
569
+ # the etag of the currently stored secret object. If the etag is omitted,
570
+ # the request succeeds.
570
571
  #
571
572
  # @yield [response, operation] Access the result along with the RPC operation
572
573
  # @yieldparam response [::Google::Protobuf::Empty]
@@ -693,8 +694,8 @@ module Google
693
694
  ##
694
695
  # Gets metadata for a {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
695
696
  #
696
- # `projects/*/secrets/*/versions/latest` is an alias to the `latest`
697
- # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
697
+ # `projects/*/secrets/*/versions/latest` is an alias to the most recently
698
+ # created {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
698
699
  #
699
700
  # @overload get_secret_version(request, options = nil)
700
701
  # Pass arguments to `get_secret_version` via a request object, either of type
@@ -714,8 +715,9 @@ module Google
714
715
  # @param name [::String]
715
716
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
716
717
  # `projects/*/secrets/*/versions/*`.
717
- # `projects/*/secrets/*/versions/latest` is an alias to the `latest`
718
- # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
718
+ #
719
+ # `projects/*/secrets/*/versions/latest` is an alias to the most recently
720
+ # created {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
719
721
  #
720
722
  # @yield [response, operation] Access the result along with the RPC operation
721
723
  # @yieldparam response [::Google::Cloud::SecretManager::V1::SecretVersion]
@@ -765,8 +767,8 @@ module Google
765
767
  ##
766
768
  # Accesses a {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. This call returns the secret data.
767
769
  #
768
- # `projects/*/secrets/*/versions/latest` is an alias to the `latest`
769
- # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
770
+ # `projects/*/secrets/*/versions/latest` is an alias to the most recently
771
+ # created {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
770
772
  #
771
773
  # @overload access_secret_version(request, options = nil)
772
774
  # Pass arguments to `access_secret_version` via a request object, either of type
@@ -787,6 +789,9 @@ module Google
787
789
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
788
790
  # `projects/*/secrets/*/versions/*`.
789
791
  #
792
+ # `projects/*/secrets/*/versions/latest` is an alias to the most recently
793
+ # created {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
794
+ #
790
795
  # @yield [response, operation] Access the result along with the RPC operation
791
796
  # @yieldparam response [::Google::Cloud::SecretManager::V1::AccessSecretVersionResponse]
792
797
  # @yieldparam operation [::GRPC::ActiveCall::Operation]
@@ -848,7 +853,7 @@ module Google
848
853
  # @param options [::Gapic::CallOptions, ::Hash]
849
854
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
850
855
  #
851
- # @overload disable_secret_version(name: nil)
856
+ # @overload disable_secret_version(name: nil, etag: nil)
852
857
  # Pass arguments to `disable_secret_version` via keyword arguments. Note that at
853
858
  # least one keyword argument is required. To specify no parameters, or to keep all
854
859
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -856,6 +861,10 @@ module Google
856
861
  # @param name [::String]
857
862
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to disable in the format
858
863
  # `projects/*/secrets/*/versions/*`.
864
+ # @param etag [::String]
865
+ # Optional. Etag of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request succeeds if it matches
866
+ # the etag of the currently stored secret version object. If the etag is
867
+ # omitted, the request succeeds.
859
868
  #
860
869
  # @yield [response, operation] Access the result along with the RPC operation
861
870
  # @yieldparam response [::Google::Cloud::SecretManager::V1::SecretVersion]
@@ -918,7 +927,7 @@ module Google
918
927
  # @param options [::Gapic::CallOptions, ::Hash]
919
928
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
920
929
  #
921
- # @overload enable_secret_version(name: nil)
930
+ # @overload enable_secret_version(name: nil, etag: nil)
922
931
  # Pass arguments to `enable_secret_version` via keyword arguments. Note that at
923
932
  # least one keyword argument is required. To specify no parameters, or to keep all
924
933
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -926,6 +935,10 @@ module Google
926
935
  # @param name [::String]
927
936
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to enable in the format
928
937
  # `projects/*/secrets/*/versions/*`.
938
+ # @param etag [::String]
939
+ # Optional. Etag of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request succeeds if it matches
940
+ # the etag of the currently stored secret version object. If the etag is
941
+ # omitted, the request succeeds.
929
942
  #
930
943
  # @yield [response, operation] Access the result along with the RPC operation
931
944
  # @yieldparam response [::Google::Cloud::SecretManager::V1::SecretVersion]
@@ -989,7 +1002,7 @@ module Google
989
1002
  # @param options [::Gapic::CallOptions, ::Hash]
990
1003
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
991
1004
  #
992
- # @overload destroy_secret_version(name: nil)
1005
+ # @overload destroy_secret_version(name: nil, etag: nil)
993
1006
  # Pass arguments to `destroy_secret_version` via keyword arguments. Note that at
994
1007
  # least one keyword argument is required. To specify no parameters, or to keep all
995
1008
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -997,6 +1010,10 @@ module Google
997
1010
  # @param name [::String]
998
1011
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to destroy in the format
999
1012
  # `projects/*/secrets/*/versions/*`.
1013
+ # @param etag [::String]
1014
+ # Optional. Etag of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request succeeds if it matches
1015
+ # the etag of the currently stored secret version object. If the etag is
1016
+ # omitted, the request succeeds.
1000
1017
  #
1001
1018
  # @yield [response, operation] Access the result along with the RPC operation
1002
1019
  # @yieldparam response [::Google::Cloud::SecretManager::V1::SecretVersion]
@@ -1360,7 +1377,7 @@ module Google
1360
1377
  config_attr :scope, nil, ::String, ::Array, nil
1361
1378
  config_attr :lib_name, nil, ::String, nil
1362
1379
  config_attr :lib_version, nil, ::String, nil
1363
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
1380
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
1364
1381
  config_attr :interceptors, nil, ::Array, nil
1365
1382
  config_attr :timeout, nil, ::Numeric, nil
1366
1383
  config_attr :metadata, nil, ::Hash, nil
@@ -1381,7 +1398,7 @@ module Google
1381
1398
  def rpcs
1382
1399
  @rpcs ||= begin
1383
1400
  parent_rpcs = nil
1384
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
1401
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
1385
1402
  Rpcs.new parent_rpcs
1386
1403
  end
1387
1404
  end
@@ -1482,35 +1499,35 @@ module Google
1482
1499
 
1483
1500
  # @private
1484
1501
  def initialize parent_rpcs = nil
1485
- list_secrets_config = parent_rpcs&.list_secrets if parent_rpcs&.respond_to? :list_secrets
1502
+ list_secrets_config = parent_rpcs.list_secrets if parent_rpcs.respond_to? :list_secrets
1486
1503
  @list_secrets = ::Gapic::Config::Method.new list_secrets_config
1487
- create_secret_config = parent_rpcs&.create_secret if parent_rpcs&.respond_to? :create_secret
1504
+ create_secret_config = parent_rpcs.create_secret if parent_rpcs.respond_to? :create_secret
1488
1505
  @create_secret = ::Gapic::Config::Method.new create_secret_config
1489
- add_secret_version_config = parent_rpcs&.add_secret_version if parent_rpcs&.respond_to? :add_secret_version
1506
+ add_secret_version_config = parent_rpcs.add_secret_version if parent_rpcs.respond_to? :add_secret_version
1490
1507
  @add_secret_version = ::Gapic::Config::Method.new add_secret_version_config
1491
- get_secret_config = parent_rpcs&.get_secret if parent_rpcs&.respond_to? :get_secret
1508
+ get_secret_config = parent_rpcs.get_secret if parent_rpcs.respond_to? :get_secret
1492
1509
  @get_secret = ::Gapic::Config::Method.new get_secret_config
1493
- update_secret_config = parent_rpcs&.update_secret if parent_rpcs&.respond_to? :update_secret
1510
+ update_secret_config = parent_rpcs.update_secret if parent_rpcs.respond_to? :update_secret
1494
1511
  @update_secret = ::Gapic::Config::Method.new update_secret_config
1495
- delete_secret_config = parent_rpcs&.delete_secret if parent_rpcs&.respond_to? :delete_secret
1512
+ delete_secret_config = parent_rpcs.delete_secret if parent_rpcs.respond_to? :delete_secret
1496
1513
  @delete_secret = ::Gapic::Config::Method.new delete_secret_config
1497
- list_secret_versions_config = parent_rpcs&.list_secret_versions if parent_rpcs&.respond_to? :list_secret_versions
1514
+ list_secret_versions_config = parent_rpcs.list_secret_versions if parent_rpcs.respond_to? :list_secret_versions
1498
1515
  @list_secret_versions = ::Gapic::Config::Method.new list_secret_versions_config
1499
- get_secret_version_config = parent_rpcs&.get_secret_version if parent_rpcs&.respond_to? :get_secret_version
1516
+ get_secret_version_config = parent_rpcs.get_secret_version if parent_rpcs.respond_to? :get_secret_version
1500
1517
  @get_secret_version = ::Gapic::Config::Method.new get_secret_version_config
1501
- access_secret_version_config = parent_rpcs&.access_secret_version if parent_rpcs&.respond_to? :access_secret_version
1518
+ access_secret_version_config = parent_rpcs.access_secret_version if parent_rpcs.respond_to? :access_secret_version
1502
1519
  @access_secret_version = ::Gapic::Config::Method.new access_secret_version_config
1503
- disable_secret_version_config = parent_rpcs&.disable_secret_version if parent_rpcs&.respond_to? :disable_secret_version
1520
+ disable_secret_version_config = parent_rpcs.disable_secret_version if parent_rpcs.respond_to? :disable_secret_version
1504
1521
  @disable_secret_version = ::Gapic::Config::Method.new disable_secret_version_config
1505
- enable_secret_version_config = parent_rpcs&.enable_secret_version if parent_rpcs&.respond_to? :enable_secret_version
1522
+ enable_secret_version_config = parent_rpcs.enable_secret_version if parent_rpcs.respond_to? :enable_secret_version
1506
1523
  @enable_secret_version = ::Gapic::Config::Method.new enable_secret_version_config
1507
- destroy_secret_version_config = parent_rpcs&.destroy_secret_version if parent_rpcs&.respond_to? :destroy_secret_version
1524
+ destroy_secret_version_config = parent_rpcs.destroy_secret_version if parent_rpcs.respond_to? :destroy_secret_version
1508
1525
  @destroy_secret_version = ::Gapic::Config::Method.new destroy_secret_version_config
1509
- set_iam_policy_config = parent_rpcs&.set_iam_policy if parent_rpcs&.respond_to? :set_iam_policy
1526
+ set_iam_policy_config = parent_rpcs.set_iam_policy if parent_rpcs.respond_to? :set_iam_policy
1510
1527
  @set_iam_policy = ::Gapic::Config::Method.new set_iam_policy_config
1511
- get_iam_policy_config = parent_rpcs&.get_iam_policy if parent_rpcs&.respond_to? :get_iam_policy
1528
+ get_iam_policy_config = parent_rpcs.get_iam_policy if parent_rpcs.respond_to? :get_iam_policy
1512
1529
  @get_iam_policy = ::Gapic::Config::Method.new get_iam_policy_config
1513
- test_iam_permissions_config = parent_rpcs&.test_iam_permissions if parent_rpcs&.respond_to? :test_iam_permissions
1530
+ test_iam_permissions_config = parent_rpcs.test_iam_permissions if parent_rpcs.respond_to? :test_iam_permissions
1514
1531
  @test_iam_permissions = ::Gapic::Config::Method.new test_iam_permissions_config
1515
1532
 
1516
1533
  yield self if block_given?
@@ -74,6 +74,23 @@ module Google
74
74
  "projects/#{project}/secrets/#{secret}/versions/#{secret_version}"
75
75
  end
76
76
 
77
+ ##
78
+ # Create a fully-qualified Topic resource string.
79
+ #
80
+ # The resource will be in the following format:
81
+ #
82
+ # `projects/{project}/topics/{topic}`
83
+ #
84
+ # @param project [String]
85
+ # @param topic [String]
86
+ #
87
+ # @return [::String]
88
+ def topic_path project:, topic:
89
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
90
+
91
+ "projects/#{project}/topics/#{topic}"
92
+ end
93
+
77
94
  extend self
78
95
  end
79
96
  end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module SecretManager
23
23
  module V1
24
- VERSION = "0.7.0"
24
+ VERSION = "0.10.2"
25
25
  end
26
26
  end
27
27
  end
@@ -15,6 +15,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
15
15
  optional :replication, :message, 2, "google.cloud.secretmanager.v1.Replication"
16
16
  optional :create_time, :message, 3, "google.protobuf.Timestamp"
17
17
  map :labels, :string, :string, 4
18
+ repeated :topics, :message, 5, "google.cloud.secretmanager.v1.Topic"
19
+ optional :etag, :string, 8
20
+ optional :rotation, :message, 9, "google.cloud.secretmanager.v1.Rotation"
18
21
  oneof :expiration do
19
22
  optional :expire_time, :message, 6, "google.protobuf.Timestamp"
20
23
  optional :ttl, :message, 7, "google.protobuf.Duration"
@@ -26,6 +29,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
26
29
  optional :destroy_time, :message, 3, "google.protobuf.Timestamp"
27
30
  optional :state, :enum, 4, "google.cloud.secretmanager.v1.SecretVersion.State"
28
31
  optional :replication_status, :message, 5, "google.cloud.secretmanager.v1.ReplicationStatus"
32
+ optional :etag, :string, 6
29
33
  end
30
34
  add_enum "google.cloud.secretmanager.v1.SecretVersion.State" do
31
35
  value :STATE_UNSPECIFIED, 0
@@ -71,6 +75,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
71
75
  add_message "google.cloud.secretmanager.v1.CustomerManagedEncryptionStatus" do
72
76
  optional :kms_key_version_name, :string, 1
73
77
  end
78
+ add_message "google.cloud.secretmanager.v1.Topic" do
79
+ optional :name, :string, 1
80
+ end
81
+ add_message "google.cloud.secretmanager.v1.Rotation" do
82
+ optional :next_rotation_time, :message, 1, "google.protobuf.Timestamp"
83
+ optional :rotation_period, :message, 2, "google.protobuf.Duration"
84
+ end
74
85
  add_message "google.cloud.secretmanager.v1.SecretPayload" do
75
86
  optional :data, :bytes, 1
76
87
  end
@@ -94,6 +105,8 @@ module Google
94
105
  ReplicationStatus::UserManagedStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.ReplicationStatus.UserManagedStatus").msgclass
95
106
  ReplicationStatus::UserManagedStatus::ReplicaStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.ReplicationStatus.UserManagedStatus.ReplicaStatus").msgclass
96
107
  CustomerManagedEncryptionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.CustomerManagedEncryptionStatus").msgclass
108
+ Topic = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.Topic").msgclass
109
+ Rotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.Rotation").msgclass
97
110
  SecretPayload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.secretmanager.v1.SecretPayload").msgclass
98
111
  end
99
112
  end
@@ -62,15 +62,19 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
62
62
  end
63
63
  add_message "google.cloud.secretmanager.v1.DeleteSecretRequest" do
64
64
  optional :name, :string, 1
65
+ optional :etag, :string, 2
65
66
  end
66
67
  add_message "google.cloud.secretmanager.v1.DisableSecretVersionRequest" do
67
68
  optional :name, :string, 1
69
+ optional :etag, :string, 2
68
70
  end
69
71
  add_message "google.cloud.secretmanager.v1.EnableSecretVersionRequest" do
70
72
  optional :name, :string, 1
73
+ optional :etag, :string, 2
71
74
  end
72
75
  add_message "google.cloud.secretmanager.v1.DestroySecretVersionRequest" do
73
76
  optional :name, :string, 1
77
+ optional :etag, :string, 2
74
78
  end
75
79
  end
76
80
  end
@@ -57,13 +57,13 @@ module Google
57
57
  rpc :ListSecretVersions, ::Google::Cloud::SecretManager::V1::ListSecretVersionsRequest, ::Google::Cloud::SecretManager::V1::ListSecretVersionsResponse
58
58
  # Gets metadata for a [SecretVersion][google.cloud.secretmanager.v1.SecretVersion].
59
59
  #
60
- # `projects/*/secrets/*/versions/latest` is an alias to the `latest`
61
- # [SecretVersion][google.cloud.secretmanager.v1.SecretVersion].
60
+ # `projects/*/secrets/*/versions/latest` is an alias to the most recently
61
+ # created [SecretVersion][google.cloud.secretmanager.v1.SecretVersion].
62
62
  rpc :GetSecretVersion, ::Google::Cloud::SecretManager::V1::GetSecretVersionRequest, ::Google::Cloud::SecretManager::V1::SecretVersion
63
63
  # Accesses a [SecretVersion][google.cloud.secretmanager.v1.SecretVersion]. This call returns the secret data.
64
64
  #
65
- # `projects/*/secrets/*/versions/latest` is an alias to the `latest`
66
- # [SecretVersion][google.cloud.secretmanager.v1.SecretVersion].
65
+ # `projects/*/secrets/*/versions/latest` is an alias to the most recently
66
+ # created [SecretVersion][google.cloud.secretmanager.v1.SecretVersion].
67
67
  rpc :AccessSecretVersion, ::Google::Cloud::SecretManager::V1::AccessSecretVersionRequest, ::Google::Cloud::SecretManager::V1::AccessSecretVersionResponse
68
68
  # Disables a [SecretVersion][google.cloud.secretmanager.v1.SecretVersion].
69
69
  #
@@ -57,9 +57,15 @@ module Google
57
57
 
58
58
  # Denotes that a (repeated) field is an unordered list.
59
59
  # This indicates that the service may provide the elements of the list
60
- # in any arbitrary order, rather than the order the user originally
60
+ # in any arbitrary order, rather than the order the user originally
61
61
  # provided. Additionally, the list's order may or may not be stable.
62
62
  UNORDERED_LIST = 6
63
+
64
+ # Denotes that this field returns a non-empty default value if not set.
65
+ # This indicates that if the user provides the empty value in a request,
66
+ # a non-empty value will be returned. The user will not be aware of what
67
+ # non-empty value to expect.
68
+ NON_EMPTY_DEFAULT = 7
63
69
  end
64
70
  end
65
71
  end
@@ -50,6 +50,10 @@ module Google
50
50
  # regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
51
51
  #
52
52
  # No more than 64 labels can be assigned to a given resource.
53
+ # @!attribute [rw] topics
54
+ # @return [::Array<::Google::Cloud::SecretManager::V1::Topic>]
55
+ # Optional. A list of up to 10 Pub/Sub topics to which messages are published when
56
+ # control plane operations are called on the secret or its versions.
53
57
  # @!attribute [rw] expire_time
54
58
  # @return [::Google::Protobuf::Timestamp]
55
59
  # Optional. Timestamp in UTC when the {::Google::Cloud::SecretManager::V1::Secret Secret} is scheduled to expire. This is
@@ -57,6 +61,13 @@ module Google
57
61
  # @!attribute [rw] ttl
58
62
  # @return [::Google::Protobuf::Duration]
59
63
  # Input only. The TTL for the {::Google::Cloud::SecretManager::V1::Secret Secret}.
64
+ # @!attribute [rw] etag
65
+ # @return [::String]
66
+ # Optional. Etag of the currently stored {::Google::Cloud::SecretManager::V1::Secret Secret}.
67
+ # @!attribute [rw] rotation
68
+ # @return [::Google::Cloud::SecretManager::V1::Rotation]
69
+ # Optional. Rotation policy attached to the {::Google::Cloud::SecretManager::V1::Secret Secret}. May be excluded if there is no
70
+ # rotation policy.
60
71
  class Secret
61
72
  include ::Google::Protobuf::MessageExts
62
73
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -93,6 +104,9 @@ module Google
93
104
  # @!attribute [rw] replication_status
94
105
  # @return [::Google::Cloud::SecretManager::V1::ReplicationStatus]
95
106
  # The replication status of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
107
+ # @!attribute [r] etag
108
+ # @return [::String]
109
+ # Output only. Etag of the currently stored {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
96
110
  class SecretVersion
97
111
  include ::Google::Protobuf::MessageExts
98
112
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -265,6 +279,41 @@ module Google
265
279
  extend ::Google::Protobuf::MessageExts::ClassMethods
266
280
  end
267
281
 
282
+ # A Pub/Sub topic which Secret Manager will publish to when control plane
283
+ # events occur on this secret.
284
+ # @!attribute [rw] name
285
+ # @return [::String]
286
+ # Required. The resource name of the Pub/Sub topic that will be published to, in the
287
+ # following format: `projects/*/topics/*`. For publication to succeed, the
288
+ # Secret Manager P4SA must have `pubsub.publisher` permissions on the topic.
289
+ class Topic
290
+ include ::Google::Protobuf::MessageExts
291
+ extend ::Google::Protobuf::MessageExts::ClassMethods
292
+ end
293
+
294
+ # The rotation time and period for a {::Google::Cloud::SecretManager::V1::Secret Secret}. At next_rotation_time, Secret
295
+ # Manager will send a Pub/Sub notification to the topics configured on the
296
+ # Secret. {::Google::Cloud::SecretManager::V1::Secret#topics Secret.topics} must be set to configure rotation.
297
+ # @!attribute [rw] next_rotation_time
298
+ # @return [::Google::Protobuf::Timestamp]
299
+ # Optional. Timestamp in UTC at which the {::Google::Cloud::SecretManager::V1::Secret Secret} is scheduled to rotate. Cannot be
300
+ # set to less than 300s (5 min) in the future and at most 3153600000s (100
301
+ # years).
302
+ #
303
+ # {::Google::Cloud::SecretManager::V1::Rotation#next_rotation_time next_rotation_time} MUST be set if {::Google::Cloud::SecretManager::V1::Rotation#rotation_period rotation_period} is set.
304
+ # @!attribute [rw] rotation_period
305
+ # @return [::Google::Protobuf::Duration]
306
+ # Input only. The Duration between rotation notifications. Must be in seconds
307
+ # and at least 3600s (1h) and at most 3153600000s (100 years).
308
+ #
309
+ # If {::Google::Cloud::SecretManager::V1::Rotation#rotation_period rotation_period} is set, {::Google::Cloud::SecretManager::V1::Rotation#next_rotation_time next_rotation_time} must be set.
310
+ # {::Google::Cloud::SecretManager::V1::Rotation#next_rotation_time next_rotation_time} will be advanced by this period when the service
311
+ # automatically sends rotation notifications.
312
+ class Rotation
313
+ include ::Google::Protobuf::MessageExts
314
+ extend ::Google::Protobuf::MessageExts::ClassMethods
315
+ end
316
+
268
317
  # A secret payload resource in the Secret Manager API. This contains the
269
318
  # sensitive secret payload that is associated with a {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
270
319
  # @!attribute [rw] data
@@ -141,8 +141,9 @@ module Google
141
141
  # @return [::String]
142
142
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
143
143
  # `projects/*/secrets/*/versions/*`.
144
- # `projects/*/secrets/*/versions/latest` is an alias to the `latest`
145
- # {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
144
+ #
145
+ # `projects/*/secrets/*/versions/latest` is an alias to the most recently
146
+ # created {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
146
147
  class GetSecretVersionRequest
147
148
  include ::Google::Protobuf::MessageExts
148
149
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -165,6 +166,9 @@ module Google
165
166
  # @return [::String]
166
167
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} in the format
167
168
  # `projects/*/secrets/*/versions/*`.
169
+ #
170
+ # `projects/*/secrets/*/versions/latest` is an alias to the most recently
171
+ # created {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}.
168
172
  class AccessSecretVersionRequest
169
173
  include ::Google::Protobuf::MessageExts
170
174
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -188,6 +192,11 @@ module Google
188
192
  # @return [::String]
189
193
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::Secret Secret} to delete in the format
190
194
  # `projects/*/secrets/*`.
195
+ # @!attribute [rw] etag
196
+ # @return [::String]
197
+ # Optional. Etag of the {::Google::Cloud::SecretManager::V1::Secret Secret}. The request succeeds if it matches
198
+ # the etag of the currently stored secret object. If the etag is omitted,
199
+ # the request succeeds.
191
200
  class DeleteSecretRequest
192
201
  include ::Google::Protobuf::MessageExts
193
202
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -198,6 +207,11 @@ module Google
198
207
  # @return [::String]
199
208
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to disable in the format
200
209
  # `projects/*/secrets/*/versions/*`.
210
+ # @!attribute [rw] etag
211
+ # @return [::String]
212
+ # Optional. Etag of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request succeeds if it matches
213
+ # the etag of the currently stored secret version object. If the etag is
214
+ # omitted, the request succeeds.
201
215
  class DisableSecretVersionRequest
202
216
  include ::Google::Protobuf::MessageExts
203
217
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -208,6 +222,11 @@ module Google
208
222
  # @return [::String]
209
223
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to enable in the format
210
224
  # `projects/*/secrets/*/versions/*`.
225
+ # @!attribute [rw] etag
226
+ # @return [::String]
227
+ # Optional. Etag of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request succeeds if it matches
228
+ # the etag of the currently stored secret version object. If the etag is
229
+ # omitted, the request succeeds.
211
230
  class EnableSecretVersionRequest
212
231
  include ::Google::Protobuf::MessageExts
213
232
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -218,6 +237,11 @@ module Google
218
237
  # @return [::String]
219
238
  # Required. The resource name of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion} to destroy in the format
220
239
  # `projects/*/secrets/*/versions/*`.
240
+ # @!attribute [rw] etag
241
+ # @return [::String]
242
+ # Optional. Etag of the {::Google::Cloud::SecretManager::V1::SecretVersion SecretVersion}. The request succeeds if it matches
243
+ # the etag of the currently stored secret version object. If the etag is
244
+ # omitted, the request succeeds.
221
245
  class DestroySecretVersionRequest
222
246
  include ::Google::Protobuf::MessageExts
223
247
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -19,30 +19,53 @@
19
19
 
20
20
  module Google
21
21
  module Type
22
- # Represents an expression text. Example:
22
+ # Represents a textual expression in the Common Expression Language (CEL)
23
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
24
+ # are documented at https://github.com/google/cel-spec.
23
25
  #
24
- # title: "User account presence"
25
- # description: "Determines whether the request has a user account"
26
- # expression: "size(request.user) > 0"
26
+ # Example (Comparison):
27
+ #
28
+ # title: "Summary size limit"
29
+ # description: "Determines if a summary is less than 100 chars"
30
+ # expression: "document.summary.size() < 100"
31
+ #
32
+ # Example (Equality):
33
+ #
34
+ # title: "Requestor is owner"
35
+ # description: "Determines if requestor is the document owner"
36
+ # expression: "document.owner == request.auth.claims.email"
37
+ #
38
+ # Example (Logic):
39
+ #
40
+ # title: "Public documents"
41
+ # description: "Determine whether the document should be publicly visible"
42
+ # expression: "document.type != 'private' && document.type != 'internal'"
43
+ #
44
+ # Example (Data Manipulation):
45
+ #
46
+ # title: "Notification string"
47
+ # description: "Create a notification string with a timestamp."
48
+ # expression: "'New message received at ' + string(document.create_time)"
49
+ #
50
+ # The exact variables and functions that may be referenced within an expression
51
+ # are determined by the service that evaluates it. See the service
52
+ # documentation for additional information.
27
53
  # @!attribute [rw] expression
28
54
  # @return [::String]
29
- # Textual representation of an expression in
30
- # Common Expression Language syntax.
31
- #
32
- # The application context of the containing message determines which
33
- # well-known feature set of CEL is supported.
55
+ # Textual representation of an expression in Common Expression Language
56
+ # syntax.
34
57
  # @!attribute [rw] title
35
58
  # @return [::String]
36
- # An optional title for the expression, i.e. a short string describing
59
+ # Optional. Title for the expression, i.e. a short string describing
37
60
  # its purpose. This can be used e.g. in UIs which allow to enter the
38
61
  # expression.
39
62
  # @!attribute [rw] description
40
63
  # @return [::String]
41
- # An optional description of the expression. This is a longer text which
64
+ # Optional. Description of the expression. This is a longer text which
42
65
  # describes the expression, e.g. when hovered over it in a UI.
43
66
  # @!attribute [rw] location
44
67
  # @return [::String]
45
- # An optional string indicating the location of the expression for error
68
+ # Optional. String indicating the location of the expression for error
46
69
  # reporting, e.g. a file name and a position in the file.
47
70
  class Expr
48
71
  include ::Google::Protobuf::MessageExts
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-secret_manager-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-03 00:00:00.000000000 Z
11
+ date: 2021-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0.5'
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '0.3'
22
+ version: 2.a
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0.5'
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '0.3'
32
+ version: 2.a
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: google-cloud-errors
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -47,7 +53,7 @@ dependencies:
47
53
  version: 0.6.10
48
54
  - - "<"
49
55
  - !ruby/object:Gem::Version
50
- version: '2.0'
56
+ version: 2.a
51
57
  type: :runtime
52
58
  prerelease: false
53
59
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,21 +63,21 @@ dependencies:
57
63
  version: 0.6.10
58
64
  - - "<"
59
65
  - !ruby/object:Gem::Version
60
- version: '2.0'
66
+ version: 2.a
61
67
  - !ruby/object:Gem::Dependency
62
68
  name: google-style
63
69
  requirement: !ruby/object:Gem::Requirement
64
70
  requirements:
65
71
  - - "~>"
66
72
  - !ruby/object:Gem::Version
67
- version: 1.24.0
73
+ version: 1.25.1
68
74
  type: :development
69
75
  prerelease: false
70
76
  version_requirements: !ruby/object:Gem::Requirement
71
77
  requirements:
72
78
  - - "~>"
73
79
  - !ruby/object:Gem::Version
74
- version: 1.24.0
80
+ version: 1.25.1
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: minitest
77
83
  requirement: !ruby/object:Gem::Requirement
@@ -220,14 +226,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
220
226
  requirements:
221
227
  - - ">="
222
228
  - !ruby/object:Gem::Version
223
- version: '2.4'
229
+ version: '2.5'
224
230
  required_rubygems_version: !ruby/object:Gem::Requirement
225
231
  requirements:
226
232
  - - ">="
227
233
  - !ruby/object:Gem::Version
228
234
  version: '0'
229
235
  requirements: []
230
- rubygems_version: 3.2.6
236
+ rubygems_version: 3.2.17
231
237
  signing_key:
232
238
  specification_version: 4
233
239
  summary: API Client library for the Secret Manager V1 API