Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/google/cloud/secretmanager_v1beta1/services/secret_manager_service/transports/rest.py: 32%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

631 statements  

1# -*- coding: utf-8 -*- 

2# Copyright 2026 Google LLC 

3# 

4# Licensed under the Apache License, Version 2.0 (the "License"); 

5# you may not use this file except in compliance with the License. 

6# You may obtain a copy of the License at 

7# 

8# http://www.apache.org/licenses/LICENSE-2.0 

9# 

10# Unless required by applicable law or agreed to in writing, software 

11# distributed under the License is distributed on an "AS IS" BASIS, 

12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 

13# See the License for the specific language governing permissions and 

14# limitations under the License. 

15# 

16import dataclasses 

17import json # type: ignore 

18import logging 

19import warnings 

20from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Union 

21 

22import google.iam.v1.iam_policy_pb2 as iam_policy_pb2 # type: ignore 

23import google.iam.v1.policy_pb2 as policy_pb2 # type: ignore 

24import google.protobuf 

25import google.protobuf.empty_pb2 as empty_pb2 # type: ignore 

26from google.api_core import exceptions as core_exceptions 

27from google.api_core import gapic_v1, rest_helpers, rest_streaming 

28from google.api_core import retry as retries 

29from google.auth import credentials as ga_credentials # type: ignore 

30from google.auth.transport.requests import AuthorizedSession # type: ignore 

31from google.cloud.location import locations_pb2 # type: ignore 

32from google.protobuf import json_format 

33from requests import __version__ as requests_version 

34 

35from google.cloud.secretmanager_v1beta1.types import resources, service 

36 

37from .base import DEFAULT_CLIENT_INFO as BASE_DEFAULT_CLIENT_INFO 

38from .rest_base import _BaseSecretManagerServiceRestTransport 

39 

40try: 

41 OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault, None] 

42except AttributeError: # pragma: NO COVER 

43 OptionalRetry = Union[retries.Retry, object, None] # type: ignore 

44 

45try: 

46 from google.api_core import client_logging # type: ignore 

47 

48 CLIENT_LOGGING_SUPPORTED = True # pragma: NO COVER 

49except ImportError: # pragma: NO COVER 

50 CLIENT_LOGGING_SUPPORTED = False 

51 

52_LOGGER = logging.getLogger(__name__) 

53 

54DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( 

55 gapic_version=BASE_DEFAULT_CLIENT_INFO.gapic_version, 

56 grpc_version=None, 

57 rest_version=f"requests@{requests_version}", 

58) 

59 

60if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER 

61 DEFAULT_CLIENT_INFO.protobuf_runtime_version = google.protobuf.__version__ 

62 

63 

64class SecretManagerServiceRestInterceptor: 

65 """Interceptor for SecretManagerService. 

66 

67 Interceptors are used to manipulate requests, request metadata, and responses 

68 in arbitrary ways. 

69 Example use cases include: 

70 * Logging 

71 * Verifying requests according to service or custom semantics 

72 * Stripping extraneous information from responses 

73 

74 These use cases and more can be enabled by injecting an 

75 instance of a custom subclass when constructing the SecretManagerServiceRestTransport. 

76 

77 .. code-block:: python 

78 class MyCustomSecretManagerServiceInterceptor(SecretManagerServiceRestInterceptor): 

79 def pre_access_secret_version(self, request, metadata): 

80 logging.log(f"Received request: {request}") 

81 return request, metadata 

82 

83 def post_access_secret_version(self, response): 

84 logging.log(f"Received response: {response}") 

85 return response 

86 

87 def pre_add_secret_version(self, request, metadata): 

88 logging.log(f"Received request: {request}") 

89 return request, metadata 

90 

91 def post_add_secret_version(self, response): 

92 logging.log(f"Received response: {response}") 

93 return response 

94 

95 def pre_create_secret(self, request, metadata): 

96 logging.log(f"Received request: {request}") 

97 return request, metadata 

98 

99 def post_create_secret(self, response): 

100 logging.log(f"Received response: {response}") 

101 return response 

102 

103 def pre_delete_secret(self, request, metadata): 

104 logging.log(f"Received request: {request}") 

105 return request, metadata 

106 

107 def pre_destroy_secret_version(self, request, metadata): 

108 logging.log(f"Received request: {request}") 

109 return request, metadata 

110 

111 def post_destroy_secret_version(self, response): 

112 logging.log(f"Received response: {response}") 

113 return response 

114 

115 def pre_disable_secret_version(self, request, metadata): 

116 logging.log(f"Received request: {request}") 

117 return request, metadata 

118 

119 def post_disable_secret_version(self, response): 

120 logging.log(f"Received response: {response}") 

121 return response 

122 

123 def pre_enable_secret_version(self, request, metadata): 

124 logging.log(f"Received request: {request}") 

125 return request, metadata 

126 

127 def post_enable_secret_version(self, response): 

128 logging.log(f"Received response: {response}") 

129 return response 

130 

131 def pre_get_iam_policy(self, request, metadata): 

132 logging.log(f"Received request: {request}") 

133 return request, metadata 

134 

135 def post_get_iam_policy(self, response): 

136 logging.log(f"Received response: {response}") 

137 return response 

138 

139 def pre_get_secret(self, request, metadata): 

140 logging.log(f"Received request: {request}") 

141 return request, metadata 

142 

143 def post_get_secret(self, response): 

144 logging.log(f"Received response: {response}") 

145 return response 

146 

147 def pre_get_secret_version(self, request, metadata): 

148 logging.log(f"Received request: {request}") 

149 return request, metadata 

150 

151 def post_get_secret_version(self, response): 

152 logging.log(f"Received response: {response}") 

153 return response 

154 

155 def pre_list_secrets(self, request, metadata): 

156 logging.log(f"Received request: {request}") 

157 return request, metadata 

158 

159 def post_list_secrets(self, response): 

160 logging.log(f"Received response: {response}") 

161 return response 

162 

163 def pre_list_secret_versions(self, request, metadata): 

164 logging.log(f"Received request: {request}") 

165 return request, metadata 

166 

167 def post_list_secret_versions(self, response): 

168 logging.log(f"Received response: {response}") 

169 return response 

170 

171 def pre_set_iam_policy(self, request, metadata): 

172 logging.log(f"Received request: {request}") 

173 return request, metadata 

174 

175 def post_set_iam_policy(self, response): 

176 logging.log(f"Received response: {response}") 

177 return response 

178 

179 def pre_test_iam_permissions(self, request, metadata): 

180 logging.log(f"Received request: {request}") 

181 return request, metadata 

182 

183 def post_test_iam_permissions(self, response): 

184 logging.log(f"Received response: {response}") 

185 return response 

186 

187 def pre_update_secret(self, request, metadata): 

188 logging.log(f"Received request: {request}") 

189 return request, metadata 

190 

191 def post_update_secret(self, response): 

192 logging.log(f"Received response: {response}") 

193 return response 

194 

195 transport = SecretManagerServiceRestTransport(interceptor=MyCustomSecretManagerServiceInterceptor()) 

196 client = SecretManagerServiceClient(transport=transport) 

197 

198 

199 """ 

200 

201 def pre_access_secret_version( 

202 self, 

203 request: service.AccessSecretVersionRequest, 

204 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

205 ) -> Tuple[ 

206 service.AccessSecretVersionRequest, Sequence[Tuple[str, Union[str, bytes]]] 

207 ]: 

208 """Pre-rpc interceptor for access_secret_version 

209 

210 Override in a subclass to manipulate the request or metadata 

211 before they are sent to the SecretManagerService server. 

212 """ 

213 return request, metadata 

214 

215 def post_access_secret_version( 

216 self, response: service.AccessSecretVersionResponse 

217 ) -> service.AccessSecretVersionResponse: 

218 """Post-rpc interceptor for access_secret_version 

219 

220 DEPRECATED. Please use the `post_access_secret_version_with_metadata` 

221 interceptor instead. 

222 

223 Override in a subclass to read or manipulate the response 

224 after it is returned by the SecretManagerService server but before 

225 it is returned to user code. This `post_access_secret_version` interceptor runs 

226 before the `post_access_secret_version_with_metadata` interceptor. 

227 """ 

228 return response 

229 

230 def post_access_secret_version_with_metadata( 

231 self, 

232 response: service.AccessSecretVersionResponse, 

233 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

234 ) -> Tuple[ 

235 service.AccessSecretVersionResponse, Sequence[Tuple[str, Union[str, bytes]]] 

236 ]: 

237 """Post-rpc interceptor for access_secret_version 

238 

239 Override in a subclass to read or manipulate the response or metadata after it 

240 is returned by the SecretManagerService server but before it is returned to user code. 

241 

242 We recommend only using this `post_access_secret_version_with_metadata` 

243 interceptor in new development instead of the `post_access_secret_version` interceptor. 

244 When both interceptors are used, this `post_access_secret_version_with_metadata` interceptor runs after the 

245 `post_access_secret_version` interceptor. The (possibly modified) response returned by 

246 `post_access_secret_version` will be passed to 

247 `post_access_secret_version_with_metadata`. 

248 """ 

249 return response, metadata 

250 

251 def pre_add_secret_version( 

252 self, 

253 request: service.AddSecretVersionRequest, 

254 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

255 ) -> Tuple[ 

256 service.AddSecretVersionRequest, Sequence[Tuple[str, Union[str, bytes]]] 

257 ]: 

258 """Pre-rpc interceptor for add_secret_version 

259 

260 Override in a subclass to manipulate the request or metadata 

261 before they are sent to the SecretManagerService server. 

262 """ 

263 return request, metadata 

264 

265 def post_add_secret_version( 

266 self, response: resources.SecretVersion 

267 ) -> resources.SecretVersion: 

268 """Post-rpc interceptor for add_secret_version 

269 

270 DEPRECATED. Please use the `post_add_secret_version_with_metadata` 

271 interceptor instead. 

272 

273 Override in a subclass to read or manipulate the response 

274 after it is returned by the SecretManagerService server but before 

275 it is returned to user code. This `post_add_secret_version` interceptor runs 

276 before the `post_add_secret_version_with_metadata` interceptor. 

277 """ 

278 return response 

279 

280 def post_add_secret_version_with_metadata( 

281 self, 

282 response: resources.SecretVersion, 

283 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

284 ) -> Tuple[resources.SecretVersion, Sequence[Tuple[str, Union[str, bytes]]]]: 

285 """Post-rpc interceptor for add_secret_version 

286 

287 Override in a subclass to read or manipulate the response or metadata after it 

288 is returned by the SecretManagerService server but before it is returned to user code. 

289 

290 We recommend only using this `post_add_secret_version_with_metadata` 

291 interceptor in new development instead of the `post_add_secret_version` interceptor. 

292 When both interceptors are used, this `post_add_secret_version_with_metadata` interceptor runs after the 

293 `post_add_secret_version` interceptor. The (possibly modified) response returned by 

294 `post_add_secret_version` will be passed to 

295 `post_add_secret_version_with_metadata`. 

296 """ 

297 return response, metadata 

298 

299 def pre_create_secret( 

300 self, 

301 request: service.CreateSecretRequest, 

302 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

303 ) -> Tuple[service.CreateSecretRequest, Sequence[Tuple[str, Union[str, bytes]]]]: 

304 """Pre-rpc interceptor for create_secret 

305 

306 Override in a subclass to manipulate the request or metadata 

307 before they are sent to the SecretManagerService server. 

308 """ 

309 return request, metadata 

310 

311 def post_create_secret(self, response: resources.Secret) -> resources.Secret: 

312 """Post-rpc interceptor for create_secret 

313 

314 DEPRECATED. Please use the `post_create_secret_with_metadata` 

315 interceptor instead. 

316 

317 Override in a subclass to read or manipulate the response 

318 after it is returned by the SecretManagerService server but before 

319 it is returned to user code. This `post_create_secret` interceptor runs 

320 before the `post_create_secret_with_metadata` interceptor. 

321 """ 

322 return response 

323 

324 def post_create_secret_with_metadata( 

325 self, 

326 response: resources.Secret, 

327 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

328 ) -> Tuple[resources.Secret, Sequence[Tuple[str, Union[str, bytes]]]]: 

329 """Post-rpc interceptor for create_secret 

330 

331 Override in a subclass to read or manipulate the response or metadata after it 

332 is returned by the SecretManagerService server but before it is returned to user code. 

333 

334 We recommend only using this `post_create_secret_with_metadata` 

335 interceptor in new development instead of the `post_create_secret` interceptor. 

336 When both interceptors are used, this `post_create_secret_with_metadata` interceptor runs after the 

337 `post_create_secret` interceptor. The (possibly modified) response returned by 

338 `post_create_secret` will be passed to 

339 `post_create_secret_with_metadata`. 

340 """ 

341 return response, metadata 

342 

343 def pre_delete_secret( 

344 self, 

345 request: service.DeleteSecretRequest, 

346 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

347 ) -> Tuple[service.DeleteSecretRequest, Sequence[Tuple[str, Union[str, bytes]]]]: 

348 """Pre-rpc interceptor for delete_secret 

349 

350 Override in a subclass to manipulate the request or metadata 

351 before they are sent to the SecretManagerService server. 

352 """ 

353 return request, metadata 

354 

355 def pre_destroy_secret_version( 

356 self, 

357 request: service.DestroySecretVersionRequest, 

358 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

359 ) -> Tuple[ 

360 service.DestroySecretVersionRequest, Sequence[Tuple[str, Union[str, bytes]]] 

361 ]: 

362 """Pre-rpc interceptor for destroy_secret_version 

363 

364 Override in a subclass to manipulate the request or metadata 

365 before they are sent to the SecretManagerService server. 

366 """ 

367 return request, metadata 

368 

369 def post_destroy_secret_version( 

370 self, response: resources.SecretVersion 

371 ) -> resources.SecretVersion: 

372 """Post-rpc interceptor for destroy_secret_version 

373 

374 DEPRECATED. Please use the `post_destroy_secret_version_with_metadata` 

375 interceptor instead. 

376 

377 Override in a subclass to read or manipulate the response 

378 after it is returned by the SecretManagerService server but before 

379 it is returned to user code. This `post_destroy_secret_version` interceptor runs 

380 before the `post_destroy_secret_version_with_metadata` interceptor. 

381 """ 

382 return response 

383 

384 def post_destroy_secret_version_with_metadata( 

385 self, 

386 response: resources.SecretVersion, 

387 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

388 ) -> Tuple[resources.SecretVersion, Sequence[Tuple[str, Union[str, bytes]]]]: 

389 """Post-rpc interceptor for destroy_secret_version 

390 

391 Override in a subclass to read or manipulate the response or metadata after it 

392 is returned by the SecretManagerService server but before it is returned to user code. 

393 

394 We recommend only using this `post_destroy_secret_version_with_metadata` 

395 interceptor in new development instead of the `post_destroy_secret_version` interceptor. 

396 When both interceptors are used, this `post_destroy_secret_version_with_metadata` interceptor runs after the 

397 `post_destroy_secret_version` interceptor. The (possibly modified) response returned by 

398 `post_destroy_secret_version` will be passed to 

399 `post_destroy_secret_version_with_metadata`. 

400 """ 

401 return response, metadata 

402 

403 def pre_disable_secret_version( 

404 self, 

405 request: service.DisableSecretVersionRequest, 

406 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

407 ) -> Tuple[ 

408 service.DisableSecretVersionRequest, Sequence[Tuple[str, Union[str, bytes]]] 

409 ]: 

410 """Pre-rpc interceptor for disable_secret_version 

411 

412 Override in a subclass to manipulate the request or metadata 

413 before they are sent to the SecretManagerService server. 

414 """ 

415 return request, metadata 

416 

417 def post_disable_secret_version( 

418 self, response: resources.SecretVersion 

419 ) -> resources.SecretVersion: 

420 """Post-rpc interceptor for disable_secret_version 

421 

422 DEPRECATED. Please use the `post_disable_secret_version_with_metadata` 

423 interceptor instead. 

424 

425 Override in a subclass to read or manipulate the response 

426 after it is returned by the SecretManagerService server but before 

427 it is returned to user code. This `post_disable_secret_version` interceptor runs 

428 before the `post_disable_secret_version_with_metadata` interceptor. 

429 """ 

430 return response 

431 

432 def post_disable_secret_version_with_metadata( 

433 self, 

434 response: resources.SecretVersion, 

435 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

436 ) -> Tuple[resources.SecretVersion, Sequence[Tuple[str, Union[str, bytes]]]]: 

437 """Post-rpc interceptor for disable_secret_version 

438 

439 Override in a subclass to read or manipulate the response or metadata after it 

440 is returned by the SecretManagerService server but before it is returned to user code. 

441 

442 We recommend only using this `post_disable_secret_version_with_metadata` 

443 interceptor in new development instead of the `post_disable_secret_version` interceptor. 

444 When both interceptors are used, this `post_disable_secret_version_with_metadata` interceptor runs after the 

445 `post_disable_secret_version` interceptor. The (possibly modified) response returned by 

446 `post_disable_secret_version` will be passed to 

447 `post_disable_secret_version_with_metadata`. 

448 """ 

449 return response, metadata 

450 

451 def pre_enable_secret_version( 

452 self, 

453 request: service.EnableSecretVersionRequest, 

454 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

455 ) -> Tuple[ 

456 service.EnableSecretVersionRequest, Sequence[Tuple[str, Union[str, bytes]]] 

457 ]: 

458 """Pre-rpc interceptor for enable_secret_version 

459 

460 Override in a subclass to manipulate the request or metadata 

461 before they are sent to the SecretManagerService server. 

462 """ 

463 return request, metadata 

464 

465 def post_enable_secret_version( 

466 self, response: resources.SecretVersion 

467 ) -> resources.SecretVersion: 

468 """Post-rpc interceptor for enable_secret_version 

469 

470 DEPRECATED. Please use the `post_enable_secret_version_with_metadata` 

471 interceptor instead. 

472 

473 Override in a subclass to read or manipulate the response 

474 after it is returned by the SecretManagerService server but before 

475 it is returned to user code. This `post_enable_secret_version` interceptor runs 

476 before the `post_enable_secret_version_with_metadata` interceptor. 

477 """ 

478 return response 

479 

480 def post_enable_secret_version_with_metadata( 

481 self, 

482 response: resources.SecretVersion, 

483 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

484 ) -> Tuple[resources.SecretVersion, Sequence[Tuple[str, Union[str, bytes]]]]: 

485 """Post-rpc interceptor for enable_secret_version 

486 

487 Override in a subclass to read or manipulate the response or metadata after it 

488 is returned by the SecretManagerService server but before it is returned to user code. 

489 

490 We recommend only using this `post_enable_secret_version_with_metadata` 

491 interceptor in new development instead of the `post_enable_secret_version` interceptor. 

492 When both interceptors are used, this `post_enable_secret_version_with_metadata` interceptor runs after the 

493 `post_enable_secret_version` interceptor. The (possibly modified) response returned by 

494 `post_enable_secret_version` will be passed to 

495 `post_enable_secret_version_with_metadata`. 

496 """ 

497 return response, metadata 

498 

499 def pre_get_iam_policy( 

500 self, 

501 request: iam_policy_pb2.GetIamPolicyRequest, 

502 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

503 ) -> Tuple[ 

504 iam_policy_pb2.GetIamPolicyRequest, Sequence[Tuple[str, Union[str, bytes]]] 

505 ]: 

506 """Pre-rpc interceptor for get_iam_policy 

507 

508 Override in a subclass to manipulate the request or metadata 

509 before they are sent to the SecretManagerService server. 

510 """ 

511 return request, metadata 

512 

513 def post_get_iam_policy(self, response: policy_pb2.Policy) -> policy_pb2.Policy: 

514 """Post-rpc interceptor for get_iam_policy 

515 

516 DEPRECATED. Please use the `post_get_iam_policy_with_metadata` 

517 interceptor instead. 

518 

519 Override in a subclass to read or manipulate the response 

520 after it is returned by the SecretManagerService server but before 

521 it is returned to user code. This `post_get_iam_policy` interceptor runs 

522 before the `post_get_iam_policy_with_metadata` interceptor. 

523 """ 

524 return response 

525 

526 def post_get_iam_policy_with_metadata( 

527 self, 

528 response: policy_pb2.Policy, 

529 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

530 ) -> Tuple[policy_pb2.Policy, Sequence[Tuple[str, Union[str, bytes]]]]: 

531 """Post-rpc interceptor for get_iam_policy 

532 

533 Override in a subclass to read or manipulate the response or metadata after it 

534 is returned by the SecretManagerService server but before it is returned to user code. 

535 

536 We recommend only using this `post_get_iam_policy_with_metadata` 

537 interceptor in new development instead of the `post_get_iam_policy` interceptor. 

538 When both interceptors are used, this `post_get_iam_policy_with_metadata` interceptor runs after the 

539 `post_get_iam_policy` interceptor. The (possibly modified) response returned by 

540 `post_get_iam_policy` will be passed to 

541 `post_get_iam_policy_with_metadata`. 

542 """ 

543 return response, metadata 

544 

545 def pre_get_secret( 

546 self, 

547 request: service.GetSecretRequest, 

548 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

549 ) -> Tuple[service.GetSecretRequest, Sequence[Tuple[str, Union[str, bytes]]]]: 

550 """Pre-rpc interceptor for get_secret 

551 

552 Override in a subclass to manipulate the request or metadata 

553 before they are sent to the SecretManagerService server. 

554 """ 

555 return request, metadata 

556 

557 def post_get_secret(self, response: resources.Secret) -> resources.Secret: 

558 """Post-rpc interceptor for get_secret 

559 

560 DEPRECATED. Please use the `post_get_secret_with_metadata` 

561 interceptor instead. 

562 

563 Override in a subclass to read or manipulate the response 

564 after it is returned by the SecretManagerService server but before 

565 it is returned to user code. This `post_get_secret` interceptor runs 

566 before the `post_get_secret_with_metadata` interceptor. 

567 """ 

568 return response 

569 

570 def post_get_secret_with_metadata( 

571 self, 

572 response: resources.Secret, 

573 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

574 ) -> Tuple[resources.Secret, Sequence[Tuple[str, Union[str, bytes]]]]: 

575 """Post-rpc interceptor for get_secret 

576 

577 Override in a subclass to read or manipulate the response or metadata after it 

578 is returned by the SecretManagerService server but before it is returned to user code. 

579 

580 We recommend only using this `post_get_secret_with_metadata` 

581 interceptor in new development instead of the `post_get_secret` interceptor. 

582 When both interceptors are used, this `post_get_secret_with_metadata` interceptor runs after the 

583 `post_get_secret` interceptor. The (possibly modified) response returned by 

584 `post_get_secret` will be passed to 

585 `post_get_secret_with_metadata`. 

586 """ 

587 return response, metadata 

588 

589 def pre_get_secret_version( 

590 self, 

591 request: service.GetSecretVersionRequest, 

592 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

593 ) -> Tuple[ 

594 service.GetSecretVersionRequest, Sequence[Tuple[str, Union[str, bytes]]] 

595 ]: 

596 """Pre-rpc interceptor for get_secret_version 

597 

598 Override in a subclass to manipulate the request or metadata 

599 before they are sent to the SecretManagerService server. 

600 """ 

601 return request, metadata 

602 

603 def post_get_secret_version( 

604 self, response: resources.SecretVersion 

605 ) -> resources.SecretVersion: 

606 """Post-rpc interceptor for get_secret_version 

607 

608 DEPRECATED. Please use the `post_get_secret_version_with_metadata` 

609 interceptor instead. 

610 

611 Override in a subclass to read or manipulate the response 

612 after it is returned by the SecretManagerService server but before 

613 it is returned to user code. This `post_get_secret_version` interceptor runs 

614 before the `post_get_secret_version_with_metadata` interceptor. 

615 """ 

616 return response 

617 

618 def post_get_secret_version_with_metadata( 

619 self, 

620 response: resources.SecretVersion, 

621 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

622 ) -> Tuple[resources.SecretVersion, Sequence[Tuple[str, Union[str, bytes]]]]: 

623 """Post-rpc interceptor for get_secret_version 

624 

625 Override in a subclass to read or manipulate the response or metadata after it 

626 is returned by the SecretManagerService server but before it is returned to user code. 

627 

628 We recommend only using this `post_get_secret_version_with_metadata` 

629 interceptor in new development instead of the `post_get_secret_version` interceptor. 

630 When both interceptors are used, this `post_get_secret_version_with_metadata` interceptor runs after the 

631 `post_get_secret_version` interceptor. The (possibly modified) response returned by 

632 `post_get_secret_version` will be passed to 

633 `post_get_secret_version_with_metadata`. 

634 """ 

635 return response, metadata 

636 

637 def pre_list_secrets( 

638 self, 

639 request: service.ListSecretsRequest, 

640 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

641 ) -> Tuple[service.ListSecretsRequest, Sequence[Tuple[str, Union[str, bytes]]]]: 

642 """Pre-rpc interceptor for list_secrets 

643 

644 Override in a subclass to manipulate the request or metadata 

645 before they are sent to the SecretManagerService server. 

646 """ 

647 return request, metadata 

648 

649 def post_list_secrets( 

650 self, response: service.ListSecretsResponse 

651 ) -> service.ListSecretsResponse: 

652 """Post-rpc interceptor for list_secrets 

653 

654 DEPRECATED. Please use the `post_list_secrets_with_metadata` 

655 interceptor instead. 

656 

657 Override in a subclass to read or manipulate the response 

658 after it is returned by the SecretManagerService server but before 

659 it is returned to user code. This `post_list_secrets` interceptor runs 

660 before the `post_list_secrets_with_metadata` interceptor. 

661 """ 

662 return response 

663 

664 def post_list_secrets_with_metadata( 

665 self, 

666 response: service.ListSecretsResponse, 

667 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

668 ) -> Tuple[service.ListSecretsResponse, Sequence[Tuple[str, Union[str, bytes]]]]: 

669 """Post-rpc interceptor for list_secrets 

670 

671 Override in a subclass to read or manipulate the response or metadata after it 

672 is returned by the SecretManagerService server but before it is returned to user code. 

673 

674 We recommend only using this `post_list_secrets_with_metadata` 

675 interceptor in new development instead of the `post_list_secrets` interceptor. 

676 When both interceptors are used, this `post_list_secrets_with_metadata` interceptor runs after the 

677 `post_list_secrets` interceptor. The (possibly modified) response returned by 

678 `post_list_secrets` will be passed to 

679 `post_list_secrets_with_metadata`. 

680 """ 

681 return response, metadata 

682 

683 def pre_list_secret_versions( 

684 self, 

685 request: service.ListSecretVersionsRequest, 

686 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

687 ) -> Tuple[ 

688 service.ListSecretVersionsRequest, Sequence[Tuple[str, Union[str, bytes]]] 

689 ]: 

690 """Pre-rpc interceptor for list_secret_versions 

691 

692 Override in a subclass to manipulate the request or metadata 

693 before they are sent to the SecretManagerService server. 

694 """ 

695 return request, metadata 

696 

697 def post_list_secret_versions( 

698 self, response: service.ListSecretVersionsResponse 

699 ) -> service.ListSecretVersionsResponse: 

700 """Post-rpc interceptor for list_secret_versions 

701 

702 DEPRECATED. Please use the `post_list_secret_versions_with_metadata` 

703 interceptor instead. 

704 

705 Override in a subclass to read or manipulate the response 

706 after it is returned by the SecretManagerService server but before 

707 it is returned to user code. This `post_list_secret_versions` interceptor runs 

708 before the `post_list_secret_versions_with_metadata` interceptor. 

709 """ 

710 return response 

711 

712 def post_list_secret_versions_with_metadata( 

713 self, 

714 response: service.ListSecretVersionsResponse, 

715 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

716 ) -> Tuple[ 

717 service.ListSecretVersionsResponse, Sequence[Tuple[str, Union[str, bytes]]] 

718 ]: 

719 """Post-rpc interceptor for list_secret_versions 

720 

721 Override in a subclass to read or manipulate the response or metadata after it 

722 is returned by the SecretManagerService server but before it is returned to user code. 

723 

724 We recommend only using this `post_list_secret_versions_with_metadata` 

725 interceptor in new development instead of the `post_list_secret_versions` interceptor. 

726 When both interceptors are used, this `post_list_secret_versions_with_metadata` interceptor runs after the 

727 `post_list_secret_versions` interceptor. The (possibly modified) response returned by 

728 `post_list_secret_versions` will be passed to 

729 `post_list_secret_versions_with_metadata`. 

730 """ 

731 return response, metadata 

732 

733 def pre_set_iam_policy( 

734 self, 

735 request: iam_policy_pb2.SetIamPolicyRequest, 

736 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

737 ) -> Tuple[ 

738 iam_policy_pb2.SetIamPolicyRequest, Sequence[Tuple[str, Union[str, bytes]]] 

739 ]: 

740 """Pre-rpc interceptor for set_iam_policy 

741 

742 Override in a subclass to manipulate the request or metadata 

743 before they are sent to the SecretManagerService server. 

744 """ 

745 return request, metadata 

746 

747 def post_set_iam_policy(self, response: policy_pb2.Policy) -> policy_pb2.Policy: 

748 """Post-rpc interceptor for set_iam_policy 

749 

750 DEPRECATED. Please use the `post_set_iam_policy_with_metadata` 

751 interceptor instead. 

752 

753 Override in a subclass to read or manipulate the response 

754 after it is returned by the SecretManagerService server but before 

755 it is returned to user code. This `post_set_iam_policy` interceptor runs 

756 before the `post_set_iam_policy_with_metadata` interceptor. 

757 """ 

758 return response 

759 

760 def post_set_iam_policy_with_metadata( 

761 self, 

762 response: policy_pb2.Policy, 

763 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

764 ) -> Tuple[policy_pb2.Policy, Sequence[Tuple[str, Union[str, bytes]]]]: 

765 """Post-rpc interceptor for set_iam_policy 

766 

767 Override in a subclass to read or manipulate the response or metadata after it 

768 is returned by the SecretManagerService server but before it is returned to user code. 

769 

770 We recommend only using this `post_set_iam_policy_with_metadata` 

771 interceptor in new development instead of the `post_set_iam_policy` interceptor. 

772 When both interceptors are used, this `post_set_iam_policy_with_metadata` interceptor runs after the 

773 `post_set_iam_policy` interceptor. The (possibly modified) response returned by 

774 `post_set_iam_policy` will be passed to 

775 `post_set_iam_policy_with_metadata`. 

776 """ 

777 return response, metadata 

778 

779 def pre_test_iam_permissions( 

780 self, 

781 request: iam_policy_pb2.TestIamPermissionsRequest, 

782 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

783 ) -> Tuple[ 

784 iam_policy_pb2.TestIamPermissionsRequest, 

785 Sequence[Tuple[str, Union[str, bytes]]], 

786 ]: 

787 """Pre-rpc interceptor for test_iam_permissions 

788 

789 Override in a subclass to manipulate the request or metadata 

790 before they are sent to the SecretManagerService server. 

791 """ 

792 return request, metadata 

793 

794 def post_test_iam_permissions( 

795 self, response: iam_policy_pb2.TestIamPermissionsResponse 

796 ) -> iam_policy_pb2.TestIamPermissionsResponse: 

797 """Post-rpc interceptor for test_iam_permissions 

798 

799 DEPRECATED. Please use the `post_test_iam_permissions_with_metadata` 

800 interceptor instead. 

801 

802 Override in a subclass to read or manipulate the response 

803 after it is returned by the SecretManagerService server but before 

804 it is returned to user code. This `post_test_iam_permissions` interceptor runs 

805 before the `post_test_iam_permissions_with_metadata` interceptor. 

806 """ 

807 return response 

808 

809 def post_test_iam_permissions_with_metadata( 

810 self, 

811 response: iam_policy_pb2.TestIamPermissionsResponse, 

812 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

813 ) -> Tuple[ 

814 iam_policy_pb2.TestIamPermissionsResponse, 

815 Sequence[Tuple[str, Union[str, bytes]]], 

816 ]: 

817 """Post-rpc interceptor for test_iam_permissions 

818 

819 Override in a subclass to read or manipulate the response or metadata after it 

820 is returned by the SecretManagerService server but before it is returned to user code. 

821 

822 We recommend only using this `post_test_iam_permissions_with_metadata` 

823 interceptor in new development instead of the `post_test_iam_permissions` interceptor. 

824 When both interceptors are used, this `post_test_iam_permissions_with_metadata` interceptor runs after the 

825 `post_test_iam_permissions` interceptor. The (possibly modified) response returned by 

826 `post_test_iam_permissions` will be passed to 

827 `post_test_iam_permissions_with_metadata`. 

828 """ 

829 return response, metadata 

830 

831 def pre_update_secret( 

832 self, 

833 request: service.UpdateSecretRequest, 

834 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

835 ) -> Tuple[service.UpdateSecretRequest, Sequence[Tuple[str, Union[str, bytes]]]]: 

836 """Pre-rpc interceptor for update_secret 

837 

838 Override in a subclass to manipulate the request or metadata 

839 before they are sent to the SecretManagerService server. 

840 """ 

841 return request, metadata 

842 

843 def post_update_secret(self, response: resources.Secret) -> resources.Secret: 

844 """Post-rpc interceptor for update_secret 

845 

846 DEPRECATED. Please use the `post_update_secret_with_metadata` 

847 interceptor instead. 

848 

849 Override in a subclass to read or manipulate the response 

850 after it is returned by the SecretManagerService server but before 

851 it is returned to user code. This `post_update_secret` interceptor runs 

852 before the `post_update_secret_with_metadata` interceptor. 

853 """ 

854 return response 

855 

856 def post_update_secret_with_metadata( 

857 self, 

858 response: resources.Secret, 

859 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

860 ) -> Tuple[resources.Secret, Sequence[Tuple[str, Union[str, bytes]]]]: 

861 """Post-rpc interceptor for update_secret 

862 

863 Override in a subclass to read or manipulate the response or metadata after it 

864 is returned by the SecretManagerService server but before it is returned to user code. 

865 

866 We recommend only using this `post_update_secret_with_metadata` 

867 interceptor in new development instead of the `post_update_secret` interceptor. 

868 When both interceptors are used, this `post_update_secret_with_metadata` interceptor runs after the 

869 `post_update_secret` interceptor. The (possibly modified) response returned by 

870 `post_update_secret` will be passed to 

871 `post_update_secret_with_metadata`. 

872 """ 

873 return response, metadata 

874 

875 def pre_get_location( 

876 self, 

877 request: locations_pb2.GetLocationRequest, 

878 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

879 ) -> Tuple[ 

880 locations_pb2.GetLocationRequest, Sequence[Tuple[str, Union[str, bytes]]] 

881 ]: 

882 """Pre-rpc interceptor for get_location 

883 

884 Override in a subclass to manipulate the request or metadata 

885 before they are sent to the SecretManagerService server. 

886 """ 

887 return request, metadata 

888 

889 def post_get_location( 

890 self, response: locations_pb2.Location 

891 ) -> locations_pb2.Location: 

892 """Post-rpc interceptor for get_location 

893 

894 Override in a subclass to manipulate the response 

895 after it is returned by the SecretManagerService server but before 

896 it is returned to user code. 

897 """ 

898 return response 

899 

900 def pre_list_locations( 

901 self, 

902 request: locations_pb2.ListLocationsRequest, 

903 metadata: Sequence[Tuple[str, Union[str, bytes]]], 

904 ) -> Tuple[ 

905 locations_pb2.ListLocationsRequest, Sequence[Tuple[str, Union[str, bytes]]] 

906 ]: 

907 """Pre-rpc interceptor for list_locations 

908 

909 Override in a subclass to manipulate the request or metadata 

910 before they are sent to the SecretManagerService server. 

911 """ 

912 return request, metadata 

913 

914 def post_list_locations( 

915 self, response: locations_pb2.ListLocationsResponse 

916 ) -> locations_pb2.ListLocationsResponse: 

917 """Post-rpc interceptor for list_locations 

918 

919 Override in a subclass to manipulate the response 

920 after it is returned by the SecretManagerService server but before 

921 it is returned to user code. 

922 """ 

923 return response 

924 

925 

926@dataclasses.dataclass 

927class SecretManagerServiceRestStub: 

928 _session: AuthorizedSession 

929 _host: str 

930 _interceptor: SecretManagerServiceRestInterceptor 

931 

932 

933class SecretManagerServiceRestTransport(_BaseSecretManagerServiceRestTransport): 

934 """REST backend synchronous transport for SecretManagerService. 

935 

936 Secret Manager Service 

937 

938 Manages secrets and operations using those secrets. Implements a 

939 REST model with the following objects: 

940 

941 - [Secret][google.cloud.secrets.v1beta1.Secret] 

942 - [SecretVersion][google.cloud.secrets.v1beta1.SecretVersion] 

943 

944 This class defines the same methods as the primary client, so the 

945 primary client can load the underlying transport implementation 

946 and call it. 

947 

948 It sends JSON representations of protocol buffers over HTTP/1.1 

949 """ 

950 

951 def __init__( 

952 self, 

953 *, 

954 host: str = "secretmanager.googleapis.com", 

955 credentials: Optional[ga_credentials.Credentials] = None, 

956 credentials_file: Optional[str] = None, 

957 scopes: Optional[Sequence[str]] = None, 

958 client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, 

959 quota_project_id: Optional[str] = None, 

960 client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, 

961 always_use_jwt_access: Optional[bool] = False, 

962 url_scheme: str = "https", 

963 interceptor: Optional[SecretManagerServiceRestInterceptor] = None, 

964 api_audience: Optional[str] = None, 

965 ) -> None: 

966 """Instantiate the transport. 

967 

968 Args: 

969 host (Optional[str]): 

970 The hostname to connect to (default: 'secretmanager.googleapis.com'). 

971 credentials (Optional[google.auth.credentials.Credentials]): The 

972 authorization credentials to attach to requests. These 

973 credentials identify the application to the service; if none 

974 are specified, the client will attempt to ascertain the 

975 credentials from the environment. 

976 

977 credentials_file (Optional[str]): Deprecated. A file with credentials that can 

978 be loaded with :func:`google.auth.load_credentials_from_file`. 

979 This argument is ignored if ``channel`` is provided. This argument will be 

980 removed in the next major version of this library. 

981 scopes (Optional(Sequence[str])): A list of scopes. This argument is 

982 ignored if ``channel`` is provided. 

983 client_cert_source_for_mtls (Callable[[], Tuple[bytes, bytes]]): Client 

984 certificate to configure mutual TLS HTTP channel. It is ignored 

985 if ``channel`` is provided. 

986 quota_project_id (Optional[str]): An optional project to use for billing 

987 and quota. 

988 client_info (google.api_core.gapic_v1.client_info.ClientInfo): 

989 The client info used to send a user-agent string along with 

990 API requests. If ``None``, then default info will be used. 

991 Generally, you only need to set this if you are developing 

992 your own client library. 

993 always_use_jwt_access (Optional[bool]): Whether self signed JWT should 

994 be used for service account credentials. 

995 url_scheme: the protocol scheme for the API endpoint. Normally 

996 "https", but for testing or local servers, 

997 "http" can be specified. 

998 interceptor (Optional[SecretManagerServiceRestInterceptor]): Interceptor used 

999 to manipulate requests, request metadata, and responses. 

1000 api_audience (Optional[str]): The intended audience for the API calls 

1001 to the service that will be set when using certain 3rd party 

1002 authentication flows. Audience is typically a resource identifier. 

1003 If not set, the host value will be used as a default. 

1004 """ 

1005 # Run the base constructor 

1006 # TODO(yon-mg): resolve other ctor params i.e. scopes, quota, etc. 

1007 # TODO: When custom host (api_endpoint) is set, `scopes` must *also* be set on the 

1008 # credentials object 

1009 super().__init__( 

1010 host=host, 

1011 credentials=credentials, 

1012 client_info=client_info, 

1013 always_use_jwt_access=always_use_jwt_access, 

1014 url_scheme=url_scheme, 

1015 api_audience=api_audience, 

1016 ) 

1017 self._session = AuthorizedSession( 

1018 self._credentials, default_host=self.DEFAULT_HOST 

1019 ) 

1020 if client_cert_source_for_mtls: 

1021 self._session.configure_mtls_channel(client_cert_source_for_mtls) 

1022 self._interceptor = interceptor or SecretManagerServiceRestInterceptor() 

1023 self._prep_wrapped_messages(client_info) 

1024 

1025 class _AccessSecretVersion( 

1026 _BaseSecretManagerServiceRestTransport._BaseAccessSecretVersion, 

1027 SecretManagerServiceRestStub, 

1028 ): 

1029 def __hash__(self): 

1030 return hash("SecretManagerServiceRestTransport.AccessSecretVersion") 

1031 

1032 @staticmethod 

1033 def _get_response( 

1034 host, 

1035 metadata, 

1036 query_params, 

1037 session, 

1038 timeout, 

1039 transcoded_request, 

1040 body=None, 

1041 ): 

1042 uri = transcoded_request["uri"] 

1043 method = transcoded_request["method"] 

1044 headers = dict(metadata) 

1045 headers["Content-Type"] = "application/json" 

1046 response = getattr(session, method)( 

1047 "{host}{uri}".format(host=host, uri=uri), 

1048 timeout=timeout, 

1049 headers=headers, 

1050 params=rest_helpers.flatten_query_params(query_params, strict=True), 

1051 ) 

1052 return response 

1053 

1054 def __call__( 

1055 self, 

1056 request: service.AccessSecretVersionRequest, 

1057 *, 

1058 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

1059 timeout: Optional[float] = None, 

1060 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

1061 ) -> service.AccessSecretVersionResponse: 

1062 r"""Call the access secret version method over HTTP. 

1063 

1064 Args: 

1065 request (~.service.AccessSecretVersionRequest): 

1066 The request object. Request message for 

1067 [SecretManagerService.AccessSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.AccessSecretVersion]. 

1068 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

1069 should be retried. 

1070 timeout (float): The timeout for this request. 

1071 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

1072 sent along with the request as metadata. Normally, each value must be of type `str`, 

1073 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

1074 be of type `bytes`. 

1075 

1076 Returns: 

1077 ~.service.AccessSecretVersionResponse: 

1078 Response message for 

1079 [SecretManagerService.AccessSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.AccessSecretVersion]. 

1080 

1081 """ 

1082 

1083 http_options = _BaseSecretManagerServiceRestTransport._BaseAccessSecretVersion._get_http_options() 

1084 

1085 request, metadata = self._interceptor.pre_access_secret_version( 

1086 request, metadata 

1087 ) 

1088 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseAccessSecretVersion._get_transcoded_request( 

1089 http_options, request 

1090 ) 

1091 

1092 # Jsonify the query params 

1093 query_params = _BaseSecretManagerServiceRestTransport._BaseAccessSecretVersion._get_query_params_json( 

1094 transcoded_request 

1095 ) 

1096 

1097 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1098 logging.DEBUG 

1099 ): # pragma: NO COVER 

1100 request_url = "{host}{uri}".format( 

1101 host=self._host, uri=transcoded_request["uri"] 

1102 ) 

1103 method = transcoded_request["method"] 

1104 try: 

1105 request_payload = type(request).to_json(request) 

1106 except: 

1107 request_payload = None 

1108 http_request = { 

1109 "payload": request_payload, 

1110 "requestMethod": method, 

1111 "requestUrl": request_url, 

1112 "headers": dict(metadata), 

1113 } 

1114 _LOGGER.debug( 

1115 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.AccessSecretVersion", 

1116 extra={ 

1117 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

1118 "rpcName": "AccessSecretVersion", 

1119 "httpRequest": http_request, 

1120 "metadata": http_request["headers"], 

1121 }, 

1122 ) 

1123 

1124 # Send the request 

1125 response = ( 

1126 SecretManagerServiceRestTransport._AccessSecretVersion._get_response( 

1127 self._host, 

1128 metadata, 

1129 query_params, 

1130 self._session, 

1131 timeout, 

1132 transcoded_request, 

1133 ) 

1134 ) 

1135 

1136 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

1137 # subclass. 

1138 if response.status_code >= 400: 

1139 raise core_exceptions.from_http_response(response) 

1140 

1141 # Return the response 

1142 resp = service.AccessSecretVersionResponse() 

1143 pb_resp = service.AccessSecretVersionResponse.pb(resp) 

1144 

1145 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

1146 

1147 resp = self._interceptor.post_access_secret_version(resp) 

1148 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

1149 resp, _ = self._interceptor.post_access_secret_version_with_metadata( 

1150 resp, response_metadata 

1151 ) 

1152 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1153 logging.DEBUG 

1154 ): # pragma: NO COVER 

1155 try: 

1156 response_payload = service.AccessSecretVersionResponse.to_json( 

1157 response 

1158 ) 

1159 except: 

1160 response_payload = None 

1161 http_response = { 

1162 "payload": response_payload, 

1163 "headers": dict(response.headers), 

1164 "status": response.status_code, 

1165 } 

1166 _LOGGER.debug( 

1167 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.access_secret_version", 

1168 extra={ 

1169 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

1170 "rpcName": "AccessSecretVersion", 

1171 "metadata": http_response["headers"], 

1172 "httpResponse": http_response, 

1173 }, 

1174 ) 

1175 return resp 

1176 

1177 class _AddSecretVersion( 

1178 _BaseSecretManagerServiceRestTransport._BaseAddSecretVersion, 

1179 SecretManagerServiceRestStub, 

1180 ): 

1181 def __hash__(self): 

1182 return hash("SecretManagerServiceRestTransport.AddSecretVersion") 

1183 

1184 @staticmethod 

1185 def _get_response( 

1186 host, 

1187 metadata, 

1188 query_params, 

1189 session, 

1190 timeout, 

1191 transcoded_request, 

1192 body=None, 

1193 ): 

1194 uri = transcoded_request["uri"] 

1195 method = transcoded_request["method"] 

1196 headers = dict(metadata) 

1197 headers["Content-Type"] = "application/json" 

1198 response = getattr(session, method)( 

1199 "{host}{uri}".format(host=host, uri=uri), 

1200 timeout=timeout, 

1201 headers=headers, 

1202 params=rest_helpers.flatten_query_params(query_params, strict=True), 

1203 data=body, 

1204 ) 

1205 return response 

1206 

1207 def __call__( 

1208 self, 

1209 request: service.AddSecretVersionRequest, 

1210 *, 

1211 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

1212 timeout: Optional[float] = None, 

1213 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

1214 ) -> resources.SecretVersion: 

1215 r"""Call the add secret version method over HTTP. 

1216 

1217 Args: 

1218 request (~.service.AddSecretVersionRequest): 

1219 The request object. Request message for 

1220 [SecretManagerService.AddSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.AddSecretVersion]. 

1221 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

1222 should be retried. 

1223 timeout (float): The timeout for this request. 

1224 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

1225 sent along with the request as metadata. Normally, each value must be of type `str`, 

1226 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

1227 be of type `bytes`. 

1228 

1229 Returns: 

1230 ~.resources.SecretVersion: 

1231 A secret version resource in the 

1232 Secret Manager API. 

1233 

1234 """ 

1235 

1236 http_options = _BaseSecretManagerServiceRestTransport._BaseAddSecretVersion._get_http_options() 

1237 

1238 request, metadata = self._interceptor.pre_add_secret_version( 

1239 request, metadata 

1240 ) 

1241 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseAddSecretVersion._get_transcoded_request( 

1242 http_options, request 

1243 ) 

1244 

1245 body = _BaseSecretManagerServiceRestTransport._BaseAddSecretVersion._get_request_body_json( 

1246 transcoded_request 

1247 ) 

1248 

1249 # Jsonify the query params 

1250 query_params = _BaseSecretManagerServiceRestTransport._BaseAddSecretVersion._get_query_params_json( 

1251 transcoded_request 

1252 ) 

1253 

1254 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1255 logging.DEBUG 

1256 ): # pragma: NO COVER 

1257 request_url = "{host}{uri}".format( 

1258 host=self._host, uri=transcoded_request["uri"] 

1259 ) 

1260 method = transcoded_request["method"] 

1261 try: 

1262 request_payload = type(request).to_json(request) 

1263 except: 

1264 request_payload = None 

1265 http_request = { 

1266 "payload": request_payload, 

1267 "requestMethod": method, 

1268 "requestUrl": request_url, 

1269 "headers": dict(metadata), 

1270 } 

1271 _LOGGER.debug( 

1272 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.AddSecretVersion", 

1273 extra={ 

1274 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

1275 "rpcName": "AddSecretVersion", 

1276 "httpRequest": http_request, 

1277 "metadata": http_request["headers"], 

1278 }, 

1279 ) 

1280 

1281 # Send the request 

1282 response = ( 

1283 SecretManagerServiceRestTransport._AddSecretVersion._get_response( 

1284 self._host, 

1285 metadata, 

1286 query_params, 

1287 self._session, 

1288 timeout, 

1289 transcoded_request, 

1290 body, 

1291 ) 

1292 ) 

1293 

1294 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

1295 # subclass. 

1296 if response.status_code >= 400: 

1297 raise core_exceptions.from_http_response(response) 

1298 

1299 # Return the response 

1300 resp = resources.SecretVersion() 

1301 pb_resp = resources.SecretVersion.pb(resp) 

1302 

1303 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

1304 

1305 resp = self._interceptor.post_add_secret_version(resp) 

1306 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

1307 resp, _ = self._interceptor.post_add_secret_version_with_metadata( 

1308 resp, response_metadata 

1309 ) 

1310 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1311 logging.DEBUG 

1312 ): # pragma: NO COVER 

1313 try: 

1314 response_payload = resources.SecretVersion.to_json(response) 

1315 except: 

1316 response_payload = None 

1317 http_response = { 

1318 "payload": response_payload, 

1319 "headers": dict(response.headers), 

1320 "status": response.status_code, 

1321 } 

1322 _LOGGER.debug( 

1323 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.add_secret_version", 

1324 extra={ 

1325 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

1326 "rpcName": "AddSecretVersion", 

1327 "metadata": http_response["headers"], 

1328 "httpResponse": http_response, 

1329 }, 

1330 ) 

1331 return resp 

1332 

1333 class _CreateSecret( 

1334 _BaseSecretManagerServiceRestTransport._BaseCreateSecret, 

1335 SecretManagerServiceRestStub, 

1336 ): 

1337 def __hash__(self): 

1338 return hash("SecretManagerServiceRestTransport.CreateSecret") 

1339 

1340 @staticmethod 

1341 def _get_response( 

1342 host, 

1343 metadata, 

1344 query_params, 

1345 session, 

1346 timeout, 

1347 transcoded_request, 

1348 body=None, 

1349 ): 

1350 uri = transcoded_request["uri"] 

1351 method = transcoded_request["method"] 

1352 headers = dict(metadata) 

1353 headers["Content-Type"] = "application/json" 

1354 response = getattr(session, method)( 

1355 "{host}{uri}".format(host=host, uri=uri), 

1356 timeout=timeout, 

1357 headers=headers, 

1358 params=rest_helpers.flatten_query_params(query_params, strict=True), 

1359 data=body, 

1360 ) 

1361 return response 

1362 

1363 def __call__( 

1364 self, 

1365 request: service.CreateSecretRequest, 

1366 *, 

1367 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

1368 timeout: Optional[float] = None, 

1369 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

1370 ) -> resources.Secret: 

1371 r"""Call the create secret method over HTTP. 

1372 

1373 Args: 

1374 request (~.service.CreateSecretRequest): 

1375 The request object. Request message for 

1376 [SecretManagerService.CreateSecret][google.cloud.secrets.v1beta1.SecretManagerService.CreateSecret]. 

1377 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

1378 should be retried. 

1379 timeout (float): The timeout for this request. 

1380 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

1381 sent along with the request as metadata. Normally, each value must be of type `str`, 

1382 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

1383 be of type `bytes`. 

1384 

1385 Returns: 

1386 ~.resources.Secret: 

1387 A [Secret][google.cloud.secrets.v1beta1.Secret] is a 

1388 logical secret whose value and versions can be accessed. 

1389 

1390 A [Secret][google.cloud.secrets.v1beta1.Secret] is made 

1391 up of zero or more 

1392 [SecretVersions][google.cloud.secrets.v1beta1.SecretVersion] 

1393 that represent the secret data. 

1394 

1395 """ 

1396 

1397 http_options = _BaseSecretManagerServiceRestTransport._BaseCreateSecret._get_http_options() 

1398 

1399 request, metadata = self._interceptor.pre_create_secret(request, metadata) 

1400 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseCreateSecret._get_transcoded_request( 

1401 http_options, request 

1402 ) 

1403 

1404 body = _BaseSecretManagerServiceRestTransport._BaseCreateSecret._get_request_body_json( 

1405 transcoded_request 

1406 ) 

1407 

1408 # Jsonify the query params 

1409 query_params = _BaseSecretManagerServiceRestTransport._BaseCreateSecret._get_query_params_json( 

1410 transcoded_request 

1411 ) 

1412 

1413 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1414 logging.DEBUG 

1415 ): # pragma: NO COVER 

1416 request_url = "{host}{uri}".format( 

1417 host=self._host, uri=transcoded_request["uri"] 

1418 ) 

1419 method = transcoded_request["method"] 

1420 try: 

1421 request_payload = type(request).to_json(request) 

1422 except: 

1423 request_payload = None 

1424 http_request = { 

1425 "payload": request_payload, 

1426 "requestMethod": method, 

1427 "requestUrl": request_url, 

1428 "headers": dict(metadata), 

1429 } 

1430 _LOGGER.debug( 

1431 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.CreateSecret", 

1432 extra={ 

1433 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

1434 "rpcName": "CreateSecret", 

1435 "httpRequest": http_request, 

1436 "metadata": http_request["headers"], 

1437 }, 

1438 ) 

1439 

1440 # Send the request 

1441 response = SecretManagerServiceRestTransport._CreateSecret._get_response( 

1442 self._host, 

1443 metadata, 

1444 query_params, 

1445 self._session, 

1446 timeout, 

1447 transcoded_request, 

1448 body, 

1449 ) 

1450 

1451 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

1452 # subclass. 

1453 if response.status_code >= 400: 

1454 raise core_exceptions.from_http_response(response) 

1455 

1456 # Return the response 

1457 resp = resources.Secret() 

1458 pb_resp = resources.Secret.pb(resp) 

1459 

1460 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

1461 

1462 resp = self._interceptor.post_create_secret(resp) 

1463 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

1464 resp, _ = self._interceptor.post_create_secret_with_metadata( 

1465 resp, response_metadata 

1466 ) 

1467 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1468 logging.DEBUG 

1469 ): # pragma: NO COVER 

1470 try: 

1471 response_payload = resources.Secret.to_json(response) 

1472 except: 

1473 response_payload = None 

1474 http_response = { 

1475 "payload": response_payload, 

1476 "headers": dict(response.headers), 

1477 "status": response.status_code, 

1478 } 

1479 _LOGGER.debug( 

1480 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.create_secret", 

1481 extra={ 

1482 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

1483 "rpcName": "CreateSecret", 

1484 "metadata": http_response["headers"], 

1485 "httpResponse": http_response, 

1486 }, 

1487 ) 

1488 return resp 

1489 

1490 class _DeleteSecret( 

1491 _BaseSecretManagerServiceRestTransport._BaseDeleteSecret, 

1492 SecretManagerServiceRestStub, 

1493 ): 

1494 def __hash__(self): 

1495 return hash("SecretManagerServiceRestTransport.DeleteSecret") 

1496 

1497 @staticmethod 

1498 def _get_response( 

1499 host, 

1500 metadata, 

1501 query_params, 

1502 session, 

1503 timeout, 

1504 transcoded_request, 

1505 body=None, 

1506 ): 

1507 uri = transcoded_request["uri"] 

1508 method = transcoded_request["method"] 

1509 headers = dict(metadata) 

1510 headers["Content-Type"] = "application/json" 

1511 response = getattr(session, method)( 

1512 "{host}{uri}".format(host=host, uri=uri), 

1513 timeout=timeout, 

1514 headers=headers, 

1515 params=rest_helpers.flatten_query_params(query_params, strict=True), 

1516 ) 

1517 return response 

1518 

1519 def __call__( 

1520 self, 

1521 request: service.DeleteSecretRequest, 

1522 *, 

1523 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

1524 timeout: Optional[float] = None, 

1525 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

1526 ): 

1527 r"""Call the delete secret method over HTTP. 

1528 

1529 Args: 

1530 request (~.service.DeleteSecretRequest): 

1531 The request object. Request message for 

1532 [SecretManagerService.DeleteSecret][google.cloud.secrets.v1beta1.SecretManagerService.DeleteSecret]. 

1533 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

1534 should be retried. 

1535 timeout (float): The timeout for this request. 

1536 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

1537 sent along with the request as metadata. Normally, each value must be of type `str`, 

1538 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

1539 be of type `bytes`. 

1540 """ 

1541 

1542 http_options = _BaseSecretManagerServiceRestTransport._BaseDeleteSecret._get_http_options() 

1543 

1544 request, metadata = self._interceptor.pre_delete_secret(request, metadata) 

1545 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseDeleteSecret._get_transcoded_request( 

1546 http_options, request 

1547 ) 

1548 

1549 # Jsonify the query params 

1550 query_params = _BaseSecretManagerServiceRestTransport._BaseDeleteSecret._get_query_params_json( 

1551 transcoded_request 

1552 ) 

1553 

1554 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1555 logging.DEBUG 

1556 ): # pragma: NO COVER 

1557 request_url = "{host}{uri}".format( 

1558 host=self._host, uri=transcoded_request["uri"] 

1559 ) 

1560 method = transcoded_request["method"] 

1561 try: 

1562 request_payload = type(request).to_json(request) 

1563 except: 

1564 request_payload = None 

1565 http_request = { 

1566 "payload": request_payload, 

1567 "requestMethod": method, 

1568 "requestUrl": request_url, 

1569 "headers": dict(metadata), 

1570 } 

1571 _LOGGER.debug( 

1572 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.DeleteSecret", 

1573 extra={ 

1574 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

1575 "rpcName": "DeleteSecret", 

1576 "httpRequest": http_request, 

1577 "metadata": http_request["headers"], 

1578 }, 

1579 ) 

1580 

1581 # Send the request 

1582 response = SecretManagerServiceRestTransport._DeleteSecret._get_response( 

1583 self._host, 

1584 metadata, 

1585 query_params, 

1586 self._session, 

1587 timeout, 

1588 transcoded_request, 

1589 ) 

1590 

1591 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

1592 # subclass. 

1593 if response.status_code >= 400: 

1594 raise core_exceptions.from_http_response(response) 

1595 

1596 class _DestroySecretVersion( 

1597 _BaseSecretManagerServiceRestTransport._BaseDestroySecretVersion, 

1598 SecretManagerServiceRestStub, 

1599 ): 

1600 def __hash__(self): 

1601 return hash("SecretManagerServiceRestTransport.DestroySecretVersion") 

1602 

1603 @staticmethod 

1604 def _get_response( 

1605 host, 

1606 metadata, 

1607 query_params, 

1608 session, 

1609 timeout, 

1610 transcoded_request, 

1611 body=None, 

1612 ): 

1613 uri = transcoded_request["uri"] 

1614 method = transcoded_request["method"] 

1615 headers = dict(metadata) 

1616 headers["Content-Type"] = "application/json" 

1617 response = getattr(session, method)( 

1618 "{host}{uri}".format(host=host, uri=uri), 

1619 timeout=timeout, 

1620 headers=headers, 

1621 params=rest_helpers.flatten_query_params(query_params, strict=True), 

1622 data=body, 

1623 ) 

1624 return response 

1625 

1626 def __call__( 

1627 self, 

1628 request: service.DestroySecretVersionRequest, 

1629 *, 

1630 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

1631 timeout: Optional[float] = None, 

1632 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

1633 ) -> resources.SecretVersion: 

1634 r"""Call the destroy secret version method over HTTP. 

1635 

1636 Args: 

1637 request (~.service.DestroySecretVersionRequest): 

1638 The request object. Request message for 

1639 [SecretManagerService.DestroySecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.DestroySecretVersion]. 

1640 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

1641 should be retried. 

1642 timeout (float): The timeout for this request. 

1643 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

1644 sent along with the request as metadata. Normally, each value must be of type `str`, 

1645 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

1646 be of type `bytes`. 

1647 

1648 Returns: 

1649 ~.resources.SecretVersion: 

1650 A secret version resource in the 

1651 Secret Manager API. 

1652 

1653 """ 

1654 

1655 http_options = _BaseSecretManagerServiceRestTransport._BaseDestroySecretVersion._get_http_options() 

1656 

1657 request, metadata = self._interceptor.pre_destroy_secret_version( 

1658 request, metadata 

1659 ) 

1660 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseDestroySecretVersion._get_transcoded_request( 

1661 http_options, request 

1662 ) 

1663 

1664 body = _BaseSecretManagerServiceRestTransport._BaseDestroySecretVersion._get_request_body_json( 

1665 transcoded_request 

1666 ) 

1667 

1668 # Jsonify the query params 

1669 query_params = _BaseSecretManagerServiceRestTransport._BaseDestroySecretVersion._get_query_params_json( 

1670 transcoded_request 

1671 ) 

1672 

1673 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1674 logging.DEBUG 

1675 ): # pragma: NO COVER 

1676 request_url = "{host}{uri}".format( 

1677 host=self._host, uri=transcoded_request["uri"] 

1678 ) 

1679 method = transcoded_request["method"] 

1680 try: 

1681 request_payload = type(request).to_json(request) 

1682 except: 

1683 request_payload = None 

1684 http_request = { 

1685 "payload": request_payload, 

1686 "requestMethod": method, 

1687 "requestUrl": request_url, 

1688 "headers": dict(metadata), 

1689 } 

1690 _LOGGER.debug( 

1691 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.DestroySecretVersion", 

1692 extra={ 

1693 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

1694 "rpcName": "DestroySecretVersion", 

1695 "httpRequest": http_request, 

1696 "metadata": http_request["headers"], 

1697 }, 

1698 ) 

1699 

1700 # Send the request 

1701 response = ( 

1702 SecretManagerServiceRestTransport._DestroySecretVersion._get_response( 

1703 self._host, 

1704 metadata, 

1705 query_params, 

1706 self._session, 

1707 timeout, 

1708 transcoded_request, 

1709 body, 

1710 ) 

1711 ) 

1712 

1713 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

1714 # subclass. 

1715 if response.status_code >= 400: 

1716 raise core_exceptions.from_http_response(response) 

1717 

1718 # Return the response 

1719 resp = resources.SecretVersion() 

1720 pb_resp = resources.SecretVersion.pb(resp) 

1721 

1722 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

1723 

1724 resp = self._interceptor.post_destroy_secret_version(resp) 

1725 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

1726 resp, _ = self._interceptor.post_destroy_secret_version_with_metadata( 

1727 resp, response_metadata 

1728 ) 

1729 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1730 logging.DEBUG 

1731 ): # pragma: NO COVER 

1732 try: 

1733 response_payload = resources.SecretVersion.to_json(response) 

1734 except: 

1735 response_payload = None 

1736 http_response = { 

1737 "payload": response_payload, 

1738 "headers": dict(response.headers), 

1739 "status": response.status_code, 

1740 } 

1741 _LOGGER.debug( 

1742 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.destroy_secret_version", 

1743 extra={ 

1744 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

1745 "rpcName": "DestroySecretVersion", 

1746 "metadata": http_response["headers"], 

1747 "httpResponse": http_response, 

1748 }, 

1749 ) 

1750 return resp 

1751 

1752 class _DisableSecretVersion( 

1753 _BaseSecretManagerServiceRestTransport._BaseDisableSecretVersion, 

1754 SecretManagerServiceRestStub, 

1755 ): 

1756 def __hash__(self): 

1757 return hash("SecretManagerServiceRestTransport.DisableSecretVersion") 

1758 

1759 @staticmethod 

1760 def _get_response( 

1761 host, 

1762 metadata, 

1763 query_params, 

1764 session, 

1765 timeout, 

1766 transcoded_request, 

1767 body=None, 

1768 ): 

1769 uri = transcoded_request["uri"] 

1770 method = transcoded_request["method"] 

1771 headers = dict(metadata) 

1772 headers["Content-Type"] = "application/json" 

1773 response = getattr(session, method)( 

1774 "{host}{uri}".format(host=host, uri=uri), 

1775 timeout=timeout, 

1776 headers=headers, 

1777 params=rest_helpers.flatten_query_params(query_params, strict=True), 

1778 data=body, 

1779 ) 

1780 return response 

1781 

1782 def __call__( 

1783 self, 

1784 request: service.DisableSecretVersionRequest, 

1785 *, 

1786 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

1787 timeout: Optional[float] = None, 

1788 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

1789 ) -> resources.SecretVersion: 

1790 r"""Call the disable secret version method over HTTP. 

1791 

1792 Args: 

1793 request (~.service.DisableSecretVersionRequest): 

1794 The request object. Request message for 

1795 [SecretManagerService.DisableSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.DisableSecretVersion]. 

1796 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

1797 should be retried. 

1798 timeout (float): The timeout for this request. 

1799 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

1800 sent along with the request as metadata. Normally, each value must be of type `str`, 

1801 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

1802 be of type `bytes`. 

1803 

1804 Returns: 

1805 ~.resources.SecretVersion: 

1806 A secret version resource in the 

1807 Secret Manager API. 

1808 

1809 """ 

1810 

1811 http_options = _BaseSecretManagerServiceRestTransport._BaseDisableSecretVersion._get_http_options() 

1812 

1813 request, metadata = self._interceptor.pre_disable_secret_version( 

1814 request, metadata 

1815 ) 

1816 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseDisableSecretVersion._get_transcoded_request( 

1817 http_options, request 

1818 ) 

1819 

1820 body = _BaseSecretManagerServiceRestTransport._BaseDisableSecretVersion._get_request_body_json( 

1821 transcoded_request 

1822 ) 

1823 

1824 # Jsonify the query params 

1825 query_params = _BaseSecretManagerServiceRestTransport._BaseDisableSecretVersion._get_query_params_json( 

1826 transcoded_request 

1827 ) 

1828 

1829 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1830 logging.DEBUG 

1831 ): # pragma: NO COVER 

1832 request_url = "{host}{uri}".format( 

1833 host=self._host, uri=transcoded_request["uri"] 

1834 ) 

1835 method = transcoded_request["method"] 

1836 try: 

1837 request_payload = type(request).to_json(request) 

1838 except: 

1839 request_payload = None 

1840 http_request = { 

1841 "payload": request_payload, 

1842 "requestMethod": method, 

1843 "requestUrl": request_url, 

1844 "headers": dict(metadata), 

1845 } 

1846 _LOGGER.debug( 

1847 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.DisableSecretVersion", 

1848 extra={ 

1849 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

1850 "rpcName": "DisableSecretVersion", 

1851 "httpRequest": http_request, 

1852 "metadata": http_request["headers"], 

1853 }, 

1854 ) 

1855 

1856 # Send the request 

1857 response = ( 

1858 SecretManagerServiceRestTransport._DisableSecretVersion._get_response( 

1859 self._host, 

1860 metadata, 

1861 query_params, 

1862 self._session, 

1863 timeout, 

1864 transcoded_request, 

1865 body, 

1866 ) 

1867 ) 

1868 

1869 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

1870 # subclass. 

1871 if response.status_code >= 400: 

1872 raise core_exceptions.from_http_response(response) 

1873 

1874 # Return the response 

1875 resp = resources.SecretVersion() 

1876 pb_resp = resources.SecretVersion.pb(resp) 

1877 

1878 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

1879 

1880 resp = self._interceptor.post_disable_secret_version(resp) 

1881 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

1882 resp, _ = self._interceptor.post_disable_secret_version_with_metadata( 

1883 resp, response_metadata 

1884 ) 

1885 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1886 logging.DEBUG 

1887 ): # pragma: NO COVER 

1888 try: 

1889 response_payload = resources.SecretVersion.to_json(response) 

1890 except: 

1891 response_payload = None 

1892 http_response = { 

1893 "payload": response_payload, 

1894 "headers": dict(response.headers), 

1895 "status": response.status_code, 

1896 } 

1897 _LOGGER.debug( 

1898 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.disable_secret_version", 

1899 extra={ 

1900 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

1901 "rpcName": "DisableSecretVersion", 

1902 "metadata": http_response["headers"], 

1903 "httpResponse": http_response, 

1904 }, 

1905 ) 

1906 return resp 

1907 

1908 class _EnableSecretVersion( 

1909 _BaseSecretManagerServiceRestTransport._BaseEnableSecretVersion, 

1910 SecretManagerServiceRestStub, 

1911 ): 

1912 def __hash__(self): 

1913 return hash("SecretManagerServiceRestTransport.EnableSecretVersion") 

1914 

1915 @staticmethod 

1916 def _get_response( 

1917 host, 

1918 metadata, 

1919 query_params, 

1920 session, 

1921 timeout, 

1922 transcoded_request, 

1923 body=None, 

1924 ): 

1925 uri = transcoded_request["uri"] 

1926 method = transcoded_request["method"] 

1927 headers = dict(metadata) 

1928 headers["Content-Type"] = "application/json" 

1929 response = getattr(session, method)( 

1930 "{host}{uri}".format(host=host, uri=uri), 

1931 timeout=timeout, 

1932 headers=headers, 

1933 params=rest_helpers.flatten_query_params(query_params, strict=True), 

1934 data=body, 

1935 ) 

1936 return response 

1937 

1938 def __call__( 

1939 self, 

1940 request: service.EnableSecretVersionRequest, 

1941 *, 

1942 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

1943 timeout: Optional[float] = None, 

1944 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

1945 ) -> resources.SecretVersion: 

1946 r"""Call the enable secret version method over HTTP. 

1947 

1948 Args: 

1949 request (~.service.EnableSecretVersionRequest): 

1950 The request object. Request message for 

1951 [SecretManagerService.EnableSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.EnableSecretVersion]. 

1952 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

1953 should be retried. 

1954 timeout (float): The timeout for this request. 

1955 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

1956 sent along with the request as metadata. Normally, each value must be of type `str`, 

1957 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

1958 be of type `bytes`. 

1959 

1960 Returns: 

1961 ~.resources.SecretVersion: 

1962 A secret version resource in the 

1963 Secret Manager API. 

1964 

1965 """ 

1966 

1967 http_options = _BaseSecretManagerServiceRestTransport._BaseEnableSecretVersion._get_http_options() 

1968 

1969 request, metadata = self._interceptor.pre_enable_secret_version( 

1970 request, metadata 

1971 ) 

1972 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseEnableSecretVersion._get_transcoded_request( 

1973 http_options, request 

1974 ) 

1975 

1976 body = _BaseSecretManagerServiceRestTransport._BaseEnableSecretVersion._get_request_body_json( 

1977 transcoded_request 

1978 ) 

1979 

1980 # Jsonify the query params 

1981 query_params = _BaseSecretManagerServiceRestTransport._BaseEnableSecretVersion._get_query_params_json( 

1982 transcoded_request 

1983 ) 

1984 

1985 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

1986 logging.DEBUG 

1987 ): # pragma: NO COVER 

1988 request_url = "{host}{uri}".format( 

1989 host=self._host, uri=transcoded_request["uri"] 

1990 ) 

1991 method = transcoded_request["method"] 

1992 try: 

1993 request_payload = type(request).to_json(request) 

1994 except: 

1995 request_payload = None 

1996 http_request = { 

1997 "payload": request_payload, 

1998 "requestMethod": method, 

1999 "requestUrl": request_url, 

2000 "headers": dict(metadata), 

2001 } 

2002 _LOGGER.debug( 

2003 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.EnableSecretVersion", 

2004 extra={ 

2005 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2006 "rpcName": "EnableSecretVersion", 

2007 "httpRequest": http_request, 

2008 "metadata": http_request["headers"], 

2009 }, 

2010 ) 

2011 

2012 # Send the request 

2013 response = ( 

2014 SecretManagerServiceRestTransport._EnableSecretVersion._get_response( 

2015 self._host, 

2016 metadata, 

2017 query_params, 

2018 self._session, 

2019 timeout, 

2020 transcoded_request, 

2021 body, 

2022 ) 

2023 ) 

2024 

2025 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

2026 # subclass. 

2027 if response.status_code >= 400: 

2028 raise core_exceptions.from_http_response(response) 

2029 

2030 # Return the response 

2031 resp = resources.SecretVersion() 

2032 pb_resp = resources.SecretVersion.pb(resp) 

2033 

2034 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

2035 

2036 resp = self._interceptor.post_enable_secret_version(resp) 

2037 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

2038 resp, _ = self._interceptor.post_enable_secret_version_with_metadata( 

2039 resp, response_metadata 

2040 ) 

2041 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

2042 logging.DEBUG 

2043 ): # pragma: NO COVER 

2044 try: 

2045 response_payload = resources.SecretVersion.to_json(response) 

2046 except: 

2047 response_payload = None 

2048 http_response = { 

2049 "payload": response_payload, 

2050 "headers": dict(response.headers), 

2051 "status": response.status_code, 

2052 } 

2053 _LOGGER.debug( 

2054 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.enable_secret_version", 

2055 extra={ 

2056 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2057 "rpcName": "EnableSecretVersion", 

2058 "metadata": http_response["headers"], 

2059 "httpResponse": http_response, 

2060 }, 

2061 ) 

2062 return resp 

2063 

2064 class _GetIamPolicy( 

2065 _BaseSecretManagerServiceRestTransport._BaseGetIamPolicy, 

2066 SecretManagerServiceRestStub, 

2067 ): 

2068 def __hash__(self): 

2069 return hash("SecretManagerServiceRestTransport.GetIamPolicy") 

2070 

2071 @staticmethod 

2072 def _get_response( 

2073 host, 

2074 metadata, 

2075 query_params, 

2076 session, 

2077 timeout, 

2078 transcoded_request, 

2079 body=None, 

2080 ): 

2081 uri = transcoded_request["uri"] 

2082 method = transcoded_request["method"] 

2083 headers = dict(metadata) 

2084 headers["Content-Type"] = "application/json" 

2085 response = getattr(session, method)( 

2086 "{host}{uri}".format(host=host, uri=uri), 

2087 timeout=timeout, 

2088 headers=headers, 

2089 params=rest_helpers.flatten_query_params(query_params, strict=True), 

2090 ) 

2091 return response 

2092 

2093 def __call__( 

2094 self, 

2095 request: iam_policy_pb2.GetIamPolicyRequest, 

2096 *, 

2097 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

2098 timeout: Optional[float] = None, 

2099 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

2100 ) -> policy_pb2.Policy: 

2101 r"""Call the get iam policy method over HTTP. 

2102 

2103 Args: 

2104 request (~.iam_policy_pb2.GetIamPolicyRequest): 

2105 The request object. Request message for ``GetIamPolicy`` method. 

2106 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

2107 should be retried. 

2108 timeout (float): The timeout for this request. 

2109 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

2110 sent along with the request as metadata. Normally, each value must be of type `str`, 

2111 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

2112 be of type `bytes`. 

2113 

2114 Returns: 

2115 ~.policy_pb2.Policy: 

2116 An Identity and Access Management (IAM) policy, which 

2117 specifies access controls for Google Cloud resources. 

2118 

2119 A ``Policy`` is a collection of ``bindings``. A 

2120 ``binding`` binds one or more ``members``, or 

2121 principals, to a single ``role``. Principals can be user 

2122 accounts, service accounts, Google groups, and domains 

2123 (such as G Suite). A ``role`` is a named list of 

2124 permissions; each ``role`` can be an IAM predefined role 

2125 or a user-created custom role. 

2126 

2127 For some types of Google Cloud resources, a ``binding`` 

2128 can also specify a ``condition``, which is a logical 

2129 expression that allows access to a resource only if the 

2130 expression evaluates to ``true``. A condition can add 

2131 constraints based on attributes of the request, the 

2132 resource, or both. To learn which resources support 

2133 conditions in their IAM policies, see the `IAM 

2134 documentation <https://cloud.google.com/iam/help/conditions/resource-policies>`__. 

2135 

2136 **JSON example:** 

2137 

2138 :: 

2139 

2140 { 

2141 "bindings": [ 

2142 { 

2143 "role": "roles/resourcemanager.organizationAdmin", 

2144 "members": [ 

2145 "user:mike@example.com", 

2146 "group:admins@example.com", 

2147 "domain:google.com", 

2148 "serviceAccount:my-project-id@appspot.gserviceaccount.com" 

2149 ] 

2150 }, 

2151 { 

2152 "role": "roles/resourcemanager.organizationViewer", 

2153 "members": [ 

2154 "user:eve@example.com" 

2155 ], 

2156 "condition": { 

2157 "title": "expirable access", 

2158 "description": "Does not grant access after Sep 2020", 

2159 "expression": "request.time < 

2160 timestamp('2020-10-01T00:00:00.000Z')", 

2161 } 

2162 } 

2163 ], 

2164 "etag": "BwWWja0YfJA=", 

2165 "version": 3 

2166 } 

2167 

2168 **YAML example:** 

2169 

2170 :: 

2171 

2172 bindings: 

2173 - members: 

2174 - user:mike@example.com 

2175 - group:admins@example.com 

2176 - domain:google.com 

2177 - serviceAccount:my-project-id@appspot.gserviceaccount.com 

2178 role: roles/resourcemanager.organizationAdmin 

2179 - members: 

2180 - user:eve@example.com 

2181 role: roles/resourcemanager.organizationViewer 

2182 condition: 

2183 title: expirable access 

2184 description: Does not grant access after Sep 2020 

2185 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') 

2186 etag: BwWWja0YfJA= 

2187 version: 3 

2188 

2189 For a description of IAM and its features, see the `IAM 

2190 documentation <https://cloud.google.com/iam/docs/>`__. 

2191 

2192 """ 

2193 

2194 http_options = _BaseSecretManagerServiceRestTransport._BaseGetIamPolicy._get_http_options() 

2195 

2196 request, metadata = self._interceptor.pre_get_iam_policy(request, metadata) 

2197 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseGetIamPolicy._get_transcoded_request( 

2198 http_options, request 

2199 ) 

2200 

2201 # Jsonify the query params 

2202 query_params = _BaseSecretManagerServiceRestTransport._BaseGetIamPolicy._get_query_params_json( 

2203 transcoded_request 

2204 ) 

2205 

2206 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

2207 logging.DEBUG 

2208 ): # pragma: NO COVER 

2209 request_url = "{host}{uri}".format( 

2210 host=self._host, uri=transcoded_request["uri"] 

2211 ) 

2212 method = transcoded_request["method"] 

2213 try: 

2214 request_payload = json_format.MessageToJson(request) 

2215 except: 

2216 request_payload = None 

2217 http_request = { 

2218 "payload": request_payload, 

2219 "requestMethod": method, 

2220 "requestUrl": request_url, 

2221 "headers": dict(metadata), 

2222 } 

2223 _LOGGER.debug( 

2224 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.GetIamPolicy", 

2225 extra={ 

2226 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2227 "rpcName": "GetIamPolicy", 

2228 "httpRequest": http_request, 

2229 "metadata": http_request["headers"], 

2230 }, 

2231 ) 

2232 

2233 # Send the request 

2234 response = SecretManagerServiceRestTransport._GetIamPolicy._get_response( 

2235 self._host, 

2236 metadata, 

2237 query_params, 

2238 self._session, 

2239 timeout, 

2240 transcoded_request, 

2241 ) 

2242 

2243 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

2244 # subclass. 

2245 if response.status_code >= 400: 

2246 raise core_exceptions.from_http_response(response) 

2247 

2248 # Return the response 

2249 resp = policy_pb2.Policy() 

2250 pb_resp = resp 

2251 

2252 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

2253 

2254 resp = self._interceptor.post_get_iam_policy(resp) 

2255 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

2256 resp, _ = self._interceptor.post_get_iam_policy_with_metadata( 

2257 resp, response_metadata 

2258 ) 

2259 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

2260 logging.DEBUG 

2261 ): # pragma: NO COVER 

2262 try: 

2263 response_payload = json_format.MessageToJson(resp) 

2264 except: 

2265 response_payload = None 

2266 http_response = { 

2267 "payload": response_payload, 

2268 "headers": dict(response.headers), 

2269 "status": response.status_code, 

2270 } 

2271 _LOGGER.debug( 

2272 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.get_iam_policy", 

2273 extra={ 

2274 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2275 "rpcName": "GetIamPolicy", 

2276 "metadata": http_response["headers"], 

2277 "httpResponse": http_response, 

2278 }, 

2279 ) 

2280 return resp 

2281 

2282 class _GetSecret( 

2283 _BaseSecretManagerServiceRestTransport._BaseGetSecret, 

2284 SecretManagerServiceRestStub, 

2285 ): 

2286 def __hash__(self): 

2287 return hash("SecretManagerServiceRestTransport.GetSecret") 

2288 

2289 @staticmethod 

2290 def _get_response( 

2291 host, 

2292 metadata, 

2293 query_params, 

2294 session, 

2295 timeout, 

2296 transcoded_request, 

2297 body=None, 

2298 ): 

2299 uri = transcoded_request["uri"] 

2300 method = transcoded_request["method"] 

2301 headers = dict(metadata) 

2302 headers["Content-Type"] = "application/json" 

2303 response = getattr(session, method)( 

2304 "{host}{uri}".format(host=host, uri=uri), 

2305 timeout=timeout, 

2306 headers=headers, 

2307 params=rest_helpers.flatten_query_params(query_params, strict=True), 

2308 ) 

2309 return response 

2310 

2311 def __call__( 

2312 self, 

2313 request: service.GetSecretRequest, 

2314 *, 

2315 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

2316 timeout: Optional[float] = None, 

2317 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

2318 ) -> resources.Secret: 

2319 r"""Call the get secret method over HTTP. 

2320 

2321 Args: 

2322 request (~.service.GetSecretRequest): 

2323 The request object. Request message for 

2324 [SecretManagerService.GetSecret][google.cloud.secrets.v1beta1.SecretManagerService.GetSecret]. 

2325 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

2326 should be retried. 

2327 timeout (float): The timeout for this request. 

2328 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

2329 sent along with the request as metadata. Normally, each value must be of type `str`, 

2330 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

2331 be of type `bytes`. 

2332 

2333 Returns: 

2334 ~.resources.Secret: 

2335 A [Secret][google.cloud.secrets.v1beta1.Secret] is a 

2336 logical secret whose value and versions can be accessed. 

2337 

2338 A [Secret][google.cloud.secrets.v1beta1.Secret] is made 

2339 up of zero or more 

2340 [SecretVersions][google.cloud.secrets.v1beta1.SecretVersion] 

2341 that represent the secret data. 

2342 

2343 """ 

2344 

2345 http_options = _BaseSecretManagerServiceRestTransport._BaseGetSecret._get_http_options() 

2346 

2347 request, metadata = self._interceptor.pre_get_secret(request, metadata) 

2348 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseGetSecret._get_transcoded_request( 

2349 http_options, request 

2350 ) 

2351 

2352 # Jsonify the query params 

2353 query_params = _BaseSecretManagerServiceRestTransport._BaseGetSecret._get_query_params_json( 

2354 transcoded_request 

2355 ) 

2356 

2357 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

2358 logging.DEBUG 

2359 ): # pragma: NO COVER 

2360 request_url = "{host}{uri}".format( 

2361 host=self._host, uri=transcoded_request["uri"] 

2362 ) 

2363 method = transcoded_request["method"] 

2364 try: 

2365 request_payload = type(request).to_json(request) 

2366 except: 

2367 request_payload = None 

2368 http_request = { 

2369 "payload": request_payload, 

2370 "requestMethod": method, 

2371 "requestUrl": request_url, 

2372 "headers": dict(metadata), 

2373 } 

2374 _LOGGER.debug( 

2375 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.GetSecret", 

2376 extra={ 

2377 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2378 "rpcName": "GetSecret", 

2379 "httpRequest": http_request, 

2380 "metadata": http_request["headers"], 

2381 }, 

2382 ) 

2383 

2384 # Send the request 

2385 response = SecretManagerServiceRestTransport._GetSecret._get_response( 

2386 self._host, 

2387 metadata, 

2388 query_params, 

2389 self._session, 

2390 timeout, 

2391 transcoded_request, 

2392 ) 

2393 

2394 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

2395 # subclass. 

2396 if response.status_code >= 400: 

2397 raise core_exceptions.from_http_response(response) 

2398 

2399 # Return the response 

2400 resp = resources.Secret() 

2401 pb_resp = resources.Secret.pb(resp) 

2402 

2403 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

2404 

2405 resp = self._interceptor.post_get_secret(resp) 

2406 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

2407 resp, _ = self._interceptor.post_get_secret_with_metadata( 

2408 resp, response_metadata 

2409 ) 

2410 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

2411 logging.DEBUG 

2412 ): # pragma: NO COVER 

2413 try: 

2414 response_payload = resources.Secret.to_json(response) 

2415 except: 

2416 response_payload = None 

2417 http_response = { 

2418 "payload": response_payload, 

2419 "headers": dict(response.headers), 

2420 "status": response.status_code, 

2421 } 

2422 _LOGGER.debug( 

2423 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.get_secret", 

2424 extra={ 

2425 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2426 "rpcName": "GetSecret", 

2427 "metadata": http_response["headers"], 

2428 "httpResponse": http_response, 

2429 }, 

2430 ) 

2431 return resp 

2432 

2433 class _GetSecretVersion( 

2434 _BaseSecretManagerServiceRestTransport._BaseGetSecretVersion, 

2435 SecretManagerServiceRestStub, 

2436 ): 

2437 def __hash__(self): 

2438 return hash("SecretManagerServiceRestTransport.GetSecretVersion") 

2439 

2440 @staticmethod 

2441 def _get_response( 

2442 host, 

2443 metadata, 

2444 query_params, 

2445 session, 

2446 timeout, 

2447 transcoded_request, 

2448 body=None, 

2449 ): 

2450 uri = transcoded_request["uri"] 

2451 method = transcoded_request["method"] 

2452 headers = dict(metadata) 

2453 headers["Content-Type"] = "application/json" 

2454 response = getattr(session, method)( 

2455 "{host}{uri}".format(host=host, uri=uri), 

2456 timeout=timeout, 

2457 headers=headers, 

2458 params=rest_helpers.flatten_query_params(query_params, strict=True), 

2459 ) 

2460 return response 

2461 

2462 def __call__( 

2463 self, 

2464 request: service.GetSecretVersionRequest, 

2465 *, 

2466 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

2467 timeout: Optional[float] = None, 

2468 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

2469 ) -> resources.SecretVersion: 

2470 r"""Call the get secret version method over HTTP. 

2471 

2472 Args: 

2473 request (~.service.GetSecretVersionRequest): 

2474 The request object. Request message for 

2475 [SecretManagerService.GetSecretVersion][google.cloud.secrets.v1beta1.SecretManagerService.GetSecretVersion]. 

2476 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

2477 should be retried. 

2478 timeout (float): The timeout for this request. 

2479 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

2480 sent along with the request as metadata. Normally, each value must be of type `str`, 

2481 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

2482 be of type `bytes`. 

2483 

2484 Returns: 

2485 ~.resources.SecretVersion: 

2486 A secret version resource in the 

2487 Secret Manager API. 

2488 

2489 """ 

2490 

2491 http_options = _BaseSecretManagerServiceRestTransport._BaseGetSecretVersion._get_http_options() 

2492 

2493 request, metadata = self._interceptor.pre_get_secret_version( 

2494 request, metadata 

2495 ) 

2496 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseGetSecretVersion._get_transcoded_request( 

2497 http_options, request 

2498 ) 

2499 

2500 # Jsonify the query params 

2501 query_params = _BaseSecretManagerServiceRestTransport._BaseGetSecretVersion._get_query_params_json( 

2502 transcoded_request 

2503 ) 

2504 

2505 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

2506 logging.DEBUG 

2507 ): # pragma: NO COVER 

2508 request_url = "{host}{uri}".format( 

2509 host=self._host, uri=transcoded_request["uri"] 

2510 ) 

2511 method = transcoded_request["method"] 

2512 try: 

2513 request_payload = type(request).to_json(request) 

2514 except: 

2515 request_payload = None 

2516 http_request = { 

2517 "payload": request_payload, 

2518 "requestMethod": method, 

2519 "requestUrl": request_url, 

2520 "headers": dict(metadata), 

2521 } 

2522 _LOGGER.debug( 

2523 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.GetSecretVersion", 

2524 extra={ 

2525 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2526 "rpcName": "GetSecretVersion", 

2527 "httpRequest": http_request, 

2528 "metadata": http_request["headers"], 

2529 }, 

2530 ) 

2531 

2532 # Send the request 

2533 response = ( 

2534 SecretManagerServiceRestTransport._GetSecretVersion._get_response( 

2535 self._host, 

2536 metadata, 

2537 query_params, 

2538 self._session, 

2539 timeout, 

2540 transcoded_request, 

2541 ) 

2542 ) 

2543 

2544 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

2545 # subclass. 

2546 if response.status_code >= 400: 

2547 raise core_exceptions.from_http_response(response) 

2548 

2549 # Return the response 

2550 resp = resources.SecretVersion() 

2551 pb_resp = resources.SecretVersion.pb(resp) 

2552 

2553 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

2554 

2555 resp = self._interceptor.post_get_secret_version(resp) 

2556 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

2557 resp, _ = self._interceptor.post_get_secret_version_with_metadata( 

2558 resp, response_metadata 

2559 ) 

2560 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

2561 logging.DEBUG 

2562 ): # pragma: NO COVER 

2563 try: 

2564 response_payload = resources.SecretVersion.to_json(response) 

2565 except: 

2566 response_payload = None 

2567 http_response = { 

2568 "payload": response_payload, 

2569 "headers": dict(response.headers), 

2570 "status": response.status_code, 

2571 } 

2572 _LOGGER.debug( 

2573 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.get_secret_version", 

2574 extra={ 

2575 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2576 "rpcName": "GetSecretVersion", 

2577 "metadata": http_response["headers"], 

2578 "httpResponse": http_response, 

2579 }, 

2580 ) 

2581 return resp 

2582 

2583 class _ListSecrets( 

2584 _BaseSecretManagerServiceRestTransport._BaseListSecrets, 

2585 SecretManagerServiceRestStub, 

2586 ): 

2587 def __hash__(self): 

2588 return hash("SecretManagerServiceRestTransport.ListSecrets") 

2589 

2590 @staticmethod 

2591 def _get_response( 

2592 host, 

2593 metadata, 

2594 query_params, 

2595 session, 

2596 timeout, 

2597 transcoded_request, 

2598 body=None, 

2599 ): 

2600 uri = transcoded_request["uri"] 

2601 method = transcoded_request["method"] 

2602 headers = dict(metadata) 

2603 headers["Content-Type"] = "application/json" 

2604 response = getattr(session, method)( 

2605 "{host}{uri}".format(host=host, uri=uri), 

2606 timeout=timeout, 

2607 headers=headers, 

2608 params=rest_helpers.flatten_query_params(query_params, strict=True), 

2609 ) 

2610 return response 

2611 

2612 def __call__( 

2613 self, 

2614 request: service.ListSecretsRequest, 

2615 *, 

2616 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

2617 timeout: Optional[float] = None, 

2618 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

2619 ) -> service.ListSecretsResponse: 

2620 r"""Call the list secrets method over HTTP. 

2621 

2622 Args: 

2623 request (~.service.ListSecretsRequest): 

2624 The request object. Request message for 

2625 [SecretManagerService.ListSecrets][google.cloud.secrets.v1beta1.SecretManagerService.ListSecrets]. 

2626 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

2627 should be retried. 

2628 timeout (float): The timeout for this request. 

2629 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

2630 sent along with the request as metadata. Normally, each value must be of type `str`, 

2631 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

2632 be of type `bytes`. 

2633 

2634 Returns: 

2635 ~.service.ListSecretsResponse: 

2636 Response message for 

2637 [SecretManagerService.ListSecrets][google.cloud.secrets.v1beta1.SecretManagerService.ListSecrets]. 

2638 

2639 """ 

2640 

2641 http_options = _BaseSecretManagerServiceRestTransport._BaseListSecrets._get_http_options() 

2642 

2643 request, metadata = self._interceptor.pre_list_secrets(request, metadata) 

2644 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseListSecrets._get_transcoded_request( 

2645 http_options, request 

2646 ) 

2647 

2648 # Jsonify the query params 

2649 query_params = _BaseSecretManagerServiceRestTransport._BaseListSecrets._get_query_params_json( 

2650 transcoded_request 

2651 ) 

2652 

2653 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

2654 logging.DEBUG 

2655 ): # pragma: NO COVER 

2656 request_url = "{host}{uri}".format( 

2657 host=self._host, uri=transcoded_request["uri"] 

2658 ) 

2659 method = transcoded_request["method"] 

2660 try: 

2661 request_payload = type(request).to_json(request) 

2662 except: 

2663 request_payload = None 

2664 http_request = { 

2665 "payload": request_payload, 

2666 "requestMethod": method, 

2667 "requestUrl": request_url, 

2668 "headers": dict(metadata), 

2669 } 

2670 _LOGGER.debug( 

2671 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.ListSecrets", 

2672 extra={ 

2673 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2674 "rpcName": "ListSecrets", 

2675 "httpRequest": http_request, 

2676 "metadata": http_request["headers"], 

2677 }, 

2678 ) 

2679 

2680 # Send the request 

2681 response = SecretManagerServiceRestTransport._ListSecrets._get_response( 

2682 self._host, 

2683 metadata, 

2684 query_params, 

2685 self._session, 

2686 timeout, 

2687 transcoded_request, 

2688 ) 

2689 

2690 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

2691 # subclass. 

2692 if response.status_code >= 400: 

2693 raise core_exceptions.from_http_response(response) 

2694 

2695 # Return the response 

2696 resp = service.ListSecretsResponse() 

2697 pb_resp = service.ListSecretsResponse.pb(resp) 

2698 

2699 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

2700 

2701 resp = self._interceptor.post_list_secrets(resp) 

2702 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

2703 resp, _ = self._interceptor.post_list_secrets_with_metadata( 

2704 resp, response_metadata 

2705 ) 

2706 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

2707 logging.DEBUG 

2708 ): # pragma: NO COVER 

2709 try: 

2710 response_payload = service.ListSecretsResponse.to_json(response) 

2711 except: 

2712 response_payload = None 

2713 http_response = { 

2714 "payload": response_payload, 

2715 "headers": dict(response.headers), 

2716 "status": response.status_code, 

2717 } 

2718 _LOGGER.debug( 

2719 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.list_secrets", 

2720 extra={ 

2721 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2722 "rpcName": "ListSecrets", 

2723 "metadata": http_response["headers"], 

2724 "httpResponse": http_response, 

2725 }, 

2726 ) 

2727 return resp 

2728 

2729 class _ListSecretVersions( 

2730 _BaseSecretManagerServiceRestTransport._BaseListSecretVersions, 

2731 SecretManagerServiceRestStub, 

2732 ): 

2733 def __hash__(self): 

2734 return hash("SecretManagerServiceRestTransport.ListSecretVersions") 

2735 

2736 @staticmethod 

2737 def _get_response( 

2738 host, 

2739 metadata, 

2740 query_params, 

2741 session, 

2742 timeout, 

2743 transcoded_request, 

2744 body=None, 

2745 ): 

2746 uri = transcoded_request["uri"] 

2747 method = transcoded_request["method"] 

2748 headers = dict(metadata) 

2749 headers["Content-Type"] = "application/json" 

2750 response = getattr(session, method)( 

2751 "{host}{uri}".format(host=host, uri=uri), 

2752 timeout=timeout, 

2753 headers=headers, 

2754 params=rest_helpers.flatten_query_params(query_params, strict=True), 

2755 ) 

2756 return response 

2757 

2758 def __call__( 

2759 self, 

2760 request: service.ListSecretVersionsRequest, 

2761 *, 

2762 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

2763 timeout: Optional[float] = None, 

2764 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

2765 ) -> service.ListSecretVersionsResponse: 

2766 r"""Call the list secret versions method over HTTP. 

2767 

2768 Args: 

2769 request (~.service.ListSecretVersionsRequest): 

2770 The request object. Request message for 

2771 [SecretManagerService.ListSecretVersions][google.cloud.secrets.v1beta1.SecretManagerService.ListSecretVersions]. 

2772 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

2773 should be retried. 

2774 timeout (float): The timeout for this request. 

2775 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

2776 sent along with the request as metadata. Normally, each value must be of type `str`, 

2777 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

2778 be of type `bytes`. 

2779 

2780 Returns: 

2781 ~.service.ListSecretVersionsResponse: 

2782 Response message for 

2783 [SecretManagerService.ListSecretVersions][google.cloud.secrets.v1beta1.SecretManagerService.ListSecretVersions]. 

2784 

2785 """ 

2786 

2787 http_options = _BaseSecretManagerServiceRestTransport._BaseListSecretVersions._get_http_options() 

2788 

2789 request, metadata = self._interceptor.pre_list_secret_versions( 

2790 request, metadata 

2791 ) 

2792 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseListSecretVersions._get_transcoded_request( 

2793 http_options, request 

2794 ) 

2795 

2796 # Jsonify the query params 

2797 query_params = _BaseSecretManagerServiceRestTransport._BaseListSecretVersions._get_query_params_json( 

2798 transcoded_request 

2799 ) 

2800 

2801 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

2802 logging.DEBUG 

2803 ): # pragma: NO COVER 

2804 request_url = "{host}{uri}".format( 

2805 host=self._host, uri=transcoded_request["uri"] 

2806 ) 

2807 method = transcoded_request["method"] 

2808 try: 

2809 request_payload = type(request).to_json(request) 

2810 except: 

2811 request_payload = None 

2812 http_request = { 

2813 "payload": request_payload, 

2814 "requestMethod": method, 

2815 "requestUrl": request_url, 

2816 "headers": dict(metadata), 

2817 } 

2818 _LOGGER.debug( 

2819 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.ListSecretVersions", 

2820 extra={ 

2821 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2822 "rpcName": "ListSecretVersions", 

2823 "httpRequest": http_request, 

2824 "metadata": http_request["headers"], 

2825 }, 

2826 ) 

2827 

2828 # Send the request 

2829 response = ( 

2830 SecretManagerServiceRestTransport._ListSecretVersions._get_response( 

2831 self._host, 

2832 metadata, 

2833 query_params, 

2834 self._session, 

2835 timeout, 

2836 transcoded_request, 

2837 ) 

2838 ) 

2839 

2840 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

2841 # subclass. 

2842 if response.status_code >= 400: 

2843 raise core_exceptions.from_http_response(response) 

2844 

2845 # Return the response 

2846 resp = service.ListSecretVersionsResponse() 

2847 pb_resp = service.ListSecretVersionsResponse.pb(resp) 

2848 

2849 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

2850 

2851 resp = self._interceptor.post_list_secret_versions(resp) 

2852 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

2853 resp, _ = self._interceptor.post_list_secret_versions_with_metadata( 

2854 resp, response_metadata 

2855 ) 

2856 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

2857 logging.DEBUG 

2858 ): # pragma: NO COVER 

2859 try: 

2860 response_payload = service.ListSecretVersionsResponse.to_json( 

2861 response 

2862 ) 

2863 except: 

2864 response_payload = None 

2865 http_response = { 

2866 "payload": response_payload, 

2867 "headers": dict(response.headers), 

2868 "status": response.status_code, 

2869 } 

2870 _LOGGER.debug( 

2871 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.list_secret_versions", 

2872 extra={ 

2873 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

2874 "rpcName": "ListSecretVersions", 

2875 "metadata": http_response["headers"], 

2876 "httpResponse": http_response, 

2877 }, 

2878 ) 

2879 return resp 

2880 

2881 class _SetIamPolicy( 

2882 _BaseSecretManagerServiceRestTransport._BaseSetIamPolicy, 

2883 SecretManagerServiceRestStub, 

2884 ): 

2885 def __hash__(self): 

2886 return hash("SecretManagerServiceRestTransport.SetIamPolicy") 

2887 

2888 @staticmethod 

2889 def _get_response( 

2890 host, 

2891 metadata, 

2892 query_params, 

2893 session, 

2894 timeout, 

2895 transcoded_request, 

2896 body=None, 

2897 ): 

2898 uri = transcoded_request["uri"] 

2899 method = transcoded_request["method"] 

2900 headers = dict(metadata) 

2901 headers["Content-Type"] = "application/json" 

2902 response = getattr(session, method)( 

2903 "{host}{uri}".format(host=host, uri=uri), 

2904 timeout=timeout, 

2905 headers=headers, 

2906 params=rest_helpers.flatten_query_params(query_params, strict=True), 

2907 data=body, 

2908 ) 

2909 return response 

2910 

2911 def __call__( 

2912 self, 

2913 request: iam_policy_pb2.SetIamPolicyRequest, 

2914 *, 

2915 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

2916 timeout: Optional[float] = None, 

2917 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

2918 ) -> policy_pb2.Policy: 

2919 r"""Call the set iam policy method over HTTP. 

2920 

2921 Args: 

2922 request (~.iam_policy_pb2.SetIamPolicyRequest): 

2923 The request object. Request message for ``SetIamPolicy`` method. 

2924 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

2925 should be retried. 

2926 timeout (float): The timeout for this request. 

2927 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

2928 sent along with the request as metadata. Normally, each value must be of type `str`, 

2929 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

2930 be of type `bytes`. 

2931 

2932 Returns: 

2933 ~.policy_pb2.Policy: 

2934 An Identity and Access Management (IAM) policy, which 

2935 specifies access controls for Google Cloud resources. 

2936 

2937 A ``Policy`` is a collection of ``bindings``. A 

2938 ``binding`` binds one or more ``members``, or 

2939 principals, to a single ``role``. Principals can be user 

2940 accounts, service accounts, Google groups, and domains 

2941 (such as G Suite). A ``role`` is a named list of 

2942 permissions; each ``role`` can be an IAM predefined role 

2943 or a user-created custom role. 

2944 

2945 For some types of Google Cloud resources, a ``binding`` 

2946 can also specify a ``condition``, which is a logical 

2947 expression that allows access to a resource only if the 

2948 expression evaluates to ``true``. A condition can add 

2949 constraints based on attributes of the request, the 

2950 resource, or both. To learn which resources support 

2951 conditions in their IAM policies, see the `IAM 

2952 documentation <https://cloud.google.com/iam/help/conditions/resource-policies>`__. 

2953 

2954 **JSON example:** 

2955 

2956 :: 

2957 

2958 { 

2959 "bindings": [ 

2960 { 

2961 "role": "roles/resourcemanager.organizationAdmin", 

2962 "members": [ 

2963 "user:mike@example.com", 

2964 "group:admins@example.com", 

2965 "domain:google.com", 

2966 "serviceAccount:my-project-id@appspot.gserviceaccount.com" 

2967 ] 

2968 }, 

2969 { 

2970 "role": "roles/resourcemanager.organizationViewer", 

2971 "members": [ 

2972 "user:eve@example.com" 

2973 ], 

2974 "condition": { 

2975 "title": "expirable access", 

2976 "description": "Does not grant access after Sep 2020", 

2977 "expression": "request.time < 

2978 timestamp('2020-10-01T00:00:00.000Z')", 

2979 } 

2980 } 

2981 ], 

2982 "etag": "BwWWja0YfJA=", 

2983 "version": 3 

2984 } 

2985 

2986 **YAML example:** 

2987 

2988 :: 

2989 

2990 bindings: 

2991 - members: 

2992 - user:mike@example.com 

2993 - group:admins@example.com 

2994 - domain:google.com 

2995 - serviceAccount:my-project-id@appspot.gserviceaccount.com 

2996 role: roles/resourcemanager.organizationAdmin 

2997 - members: 

2998 - user:eve@example.com 

2999 role: roles/resourcemanager.organizationViewer 

3000 condition: 

3001 title: expirable access 

3002 description: Does not grant access after Sep 2020 

3003 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') 

3004 etag: BwWWja0YfJA= 

3005 version: 3 

3006 

3007 For a description of IAM and its features, see the `IAM 

3008 documentation <https://cloud.google.com/iam/docs/>`__. 

3009 

3010 """ 

3011 

3012 http_options = _BaseSecretManagerServiceRestTransport._BaseSetIamPolicy._get_http_options() 

3013 

3014 request, metadata = self._interceptor.pre_set_iam_policy(request, metadata) 

3015 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseSetIamPolicy._get_transcoded_request( 

3016 http_options, request 

3017 ) 

3018 

3019 body = _BaseSecretManagerServiceRestTransport._BaseSetIamPolicy._get_request_body_json( 

3020 transcoded_request 

3021 ) 

3022 

3023 # Jsonify the query params 

3024 query_params = _BaseSecretManagerServiceRestTransport._BaseSetIamPolicy._get_query_params_json( 

3025 transcoded_request 

3026 ) 

3027 

3028 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

3029 logging.DEBUG 

3030 ): # pragma: NO COVER 

3031 request_url = "{host}{uri}".format( 

3032 host=self._host, uri=transcoded_request["uri"] 

3033 ) 

3034 method = transcoded_request["method"] 

3035 try: 

3036 request_payload = json_format.MessageToJson(request) 

3037 except: 

3038 request_payload = None 

3039 http_request = { 

3040 "payload": request_payload, 

3041 "requestMethod": method, 

3042 "requestUrl": request_url, 

3043 "headers": dict(metadata), 

3044 } 

3045 _LOGGER.debug( 

3046 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.SetIamPolicy", 

3047 extra={ 

3048 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

3049 "rpcName": "SetIamPolicy", 

3050 "httpRequest": http_request, 

3051 "metadata": http_request["headers"], 

3052 }, 

3053 ) 

3054 

3055 # Send the request 

3056 response = SecretManagerServiceRestTransport._SetIamPolicy._get_response( 

3057 self._host, 

3058 metadata, 

3059 query_params, 

3060 self._session, 

3061 timeout, 

3062 transcoded_request, 

3063 body, 

3064 ) 

3065 

3066 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

3067 # subclass. 

3068 if response.status_code >= 400: 

3069 raise core_exceptions.from_http_response(response) 

3070 

3071 # Return the response 

3072 resp = policy_pb2.Policy() 

3073 pb_resp = resp 

3074 

3075 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

3076 

3077 resp = self._interceptor.post_set_iam_policy(resp) 

3078 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

3079 resp, _ = self._interceptor.post_set_iam_policy_with_metadata( 

3080 resp, response_metadata 

3081 ) 

3082 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

3083 logging.DEBUG 

3084 ): # pragma: NO COVER 

3085 try: 

3086 response_payload = json_format.MessageToJson(resp) 

3087 except: 

3088 response_payload = None 

3089 http_response = { 

3090 "payload": response_payload, 

3091 "headers": dict(response.headers), 

3092 "status": response.status_code, 

3093 } 

3094 _LOGGER.debug( 

3095 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.set_iam_policy", 

3096 extra={ 

3097 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

3098 "rpcName": "SetIamPolicy", 

3099 "metadata": http_response["headers"], 

3100 "httpResponse": http_response, 

3101 }, 

3102 ) 

3103 return resp 

3104 

3105 class _TestIamPermissions( 

3106 _BaseSecretManagerServiceRestTransport._BaseTestIamPermissions, 

3107 SecretManagerServiceRestStub, 

3108 ): 

3109 def __hash__(self): 

3110 return hash("SecretManagerServiceRestTransport.TestIamPermissions") 

3111 

3112 @staticmethod 

3113 def _get_response( 

3114 host, 

3115 metadata, 

3116 query_params, 

3117 session, 

3118 timeout, 

3119 transcoded_request, 

3120 body=None, 

3121 ): 

3122 uri = transcoded_request["uri"] 

3123 method = transcoded_request["method"] 

3124 headers = dict(metadata) 

3125 headers["Content-Type"] = "application/json" 

3126 response = getattr(session, method)( 

3127 "{host}{uri}".format(host=host, uri=uri), 

3128 timeout=timeout, 

3129 headers=headers, 

3130 params=rest_helpers.flatten_query_params(query_params, strict=True), 

3131 data=body, 

3132 ) 

3133 return response 

3134 

3135 def __call__( 

3136 self, 

3137 request: iam_policy_pb2.TestIamPermissionsRequest, 

3138 *, 

3139 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

3140 timeout: Optional[float] = None, 

3141 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

3142 ) -> iam_policy_pb2.TestIamPermissionsResponse: 

3143 r"""Call the test iam permissions method over HTTP. 

3144 

3145 Args: 

3146 request (~.iam_policy_pb2.TestIamPermissionsRequest): 

3147 The request object. Request message for ``TestIamPermissions`` method. 

3148 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

3149 should be retried. 

3150 timeout (float): The timeout for this request. 

3151 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

3152 sent along with the request as metadata. Normally, each value must be of type `str`, 

3153 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

3154 be of type `bytes`. 

3155 

3156 Returns: 

3157 ~.iam_policy_pb2.TestIamPermissionsResponse: 

3158 Response message for ``TestIamPermissions`` method. 

3159 """ 

3160 

3161 http_options = _BaseSecretManagerServiceRestTransport._BaseTestIamPermissions._get_http_options() 

3162 

3163 request, metadata = self._interceptor.pre_test_iam_permissions( 

3164 request, metadata 

3165 ) 

3166 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseTestIamPermissions._get_transcoded_request( 

3167 http_options, request 

3168 ) 

3169 

3170 body = _BaseSecretManagerServiceRestTransport._BaseTestIamPermissions._get_request_body_json( 

3171 transcoded_request 

3172 ) 

3173 

3174 # Jsonify the query params 

3175 query_params = _BaseSecretManagerServiceRestTransport._BaseTestIamPermissions._get_query_params_json( 

3176 transcoded_request 

3177 ) 

3178 

3179 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

3180 logging.DEBUG 

3181 ): # pragma: NO COVER 

3182 request_url = "{host}{uri}".format( 

3183 host=self._host, uri=transcoded_request["uri"] 

3184 ) 

3185 method = transcoded_request["method"] 

3186 try: 

3187 request_payload = json_format.MessageToJson(request) 

3188 except: 

3189 request_payload = None 

3190 http_request = { 

3191 "payload": request_payload, 

3192 "requestMethod": method, 

3193 "requestUrl": request_url, 

3194 "headers": dict(metadata), 

3195 } 

3196 _LOGGER.debug( 

3197 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.TestIamPermissions", 

3198 extra={ 

3199 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

3200 "rpcName": "TestIamPermissions", 

3201 "httpRequest": http_request, 

3202 "metadata": http_request["headers"], 

3203 }, 

3204 ) 

3205 

3206 # Send the request 

3207 response = ( 

3208 SecretManagerServiceRestTransport._TestIamPermissions._get_response( 

3209 self._host, 

3210 metadata, 

3211 query_params, 

3212 self._session, 

3213 timeout, 

3214 transcoded_request, 

3215 body, 

3216 ) 

3217 ) 

3218 

3219 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

3220 # subclass. 

3221 if response.status_code >= 400: 

3222 raise core_exceptions.from_http_response(response) 

3223 

3224 # Return the response 

3225 resp = iam_policy_pb2.TestIamPermissionsResponse() 

3226 pb_resp = resp 

3227 

3228 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

3229 

3230 resp = self._interceptor.post_test_iam_permissions(resp) 

3231 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

3232 resp, _ = self._interceptor.post_test_iam_permissions_with_metadata( 

3233 resp, response_metadata 

3234 ) 

3235 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

3236 logging.DEBUG 

3237 ): # pragma: NO COVER 

3238 try: 

3239 response_payload = json_format.MessageToJson(resp) 

3240 except: 

3241 response_payload = None 

3242 http_response = { 

3243 "payload": response_payload, 

3244 "headers": dict(response.headers), 

3245 "status": response.status_code, 

3246 } 

3247 _LOGGER.debug( 

3248 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.test_iam_permissions", 

3249 extra={ 

3250 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

3251 "rpcName": "TestIamPermissions", 

3252 "metadata": http_response["headers"], 

3253 "httpResponse": http_response, 

3254 }, 

3255 ) 

3256 return resp 

3257 

3258 class _UpdateSecret( 

3259 _BaseSecretManagerServiceRestTransport._BaseUpdateSecret, 

3260 SecretManagerServiceRestStub, 

3261 ): 

3262 def __hash__(self): 

3263 return hash("SecretManagerServiceRestTransport.UpdateSecret") 

3264 

3265 @staticmethod 

3266 def _get_response( 

3267 host, 

3268 metadata, 

3269 query_params, 

3270 session, 

3271 timeout, 

3272 transcoded_request, 

3273 body=None, 

3274 ): 

3275 uri = transcoded_request["uri"] 

3276 method = transcoded_request["method"] 

3277 headers = dict(metadata) 

3278 headers["Content-Type"] = "application/json" 

3279 response = getattr(session, method)( 

3280 "{host}{uri}".format(host=host, uri=uri), 

3281 timeout=timeout, 

3282 headers=headers, 

3283 params=rest_helpers.flatten_query_params(query_params, strict=True), 

3284 data=body, 

3285 ) 

3286 return response 

3287 

3288 def __call__( 

3289 self, 

3290 request: service.UpdateSecretRequest, 

3291 *, 

3292 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

3293 timeout: Optional[float] = None, 

3294 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

3295 ) -> resources.Secret: 

3296 r"""Call the update secret method over HTTP. 

3297 

3298 Args: 

3299 request (~.service.UpdateSecretRequest): 

3300 The request object. Request message for 

3301 [SecretManagerService.UpdateSecret][google.cloud.secrets.v1beta1.SecretManagerService.UpdateSecret]. 

3302 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

3303 should be retried. 

3304 timeout (float): The timeout for this request. 

3305 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

3306 sent along with the request as metadata. Normally, each value must be of type `str`, 

3307 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

3308 be of type `bytes`. 

3309 

3310 Returns: 

3311 ~.resources.Secret: 

3312 A [Secret][google.cloud.secrets.v1beta1.Secret] is a 

3313 logical secret whose value and versions can be accessed. 

3314 

3315 A [Secret][google.cloud.secrets.v1beta1.Secret] is made 

3316 up of zero or more 

3317 [SecretVersions][google.cloud.secrets.v1beta1.SecretVersion] 

3318 that represent the secret data. 

3319 

3320 """ 

3321 

3322 http_options = _BaseSecretManagerServiceRestTransport._BaseUpdateSecret._get_http_options() 

3323 

3324 request, metadata = self._interceptor.pre_update_secret(request, metadata) 

3325 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseUpdateSecret._get_transcoded_request( 

3326 http_options, request 

3327 ) 

3328 

3329 body = _BaseSecretManagerServiceRestTransport._BaseUpdateSecret._get_request_body_json( 

3330 transcoded_request 

3331 ) 

3332 

3333 # Jsonify the query params 

3334 query_params = _BaseSecretManagerServiceRestTransport._BaseUpdateSecret._get_query_params_json( 

3335 transcoded_request 

3336 ) 

3337 

3338 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

3339 logging.DEBUG 

3340 ): # pragma: NO COVER 

3341 request_url = "{host}{uri}".format( 

3342 host=self._host, uri=transcoded_request["uri"] 

3343 ) 

3344 method = transcoded_request["method"] 

3345 try: 

3346 request_payload = type(request).to_json(request) 

3347 except: 

3348 request_payload = None 

3349 http_request = { 

3350 "payload": request_payload, 

3351 "requestMethod": method, 

3352 "requestUrl": request_url, 

3353 "headers": dict(metadata), 

3354 } 

3355 _LOGGER.debug( 

3356 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.UpdateSecret", 

3357 extra={ 

3358 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

3359 "rpcName": "UpdateSecret", 

3360 "httpRequest": http_request, 

3361 "metadata": http_request["headers"], 

3362 }, 

3363 ) 

3364 

3365 # Send the request 

3366 response = SecretManagerServiceRestTransport._UpdateSecret._get_response( 

3367 self._host, 

3368 metadata, 

3369 query_params, 

3370 self._session, 

3371 timeout, 

3372 transcoded_request, 

3373 body, 

3374 ) 

3375 

3376 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

3377 # subclass. 

3378 if response.status_code >= 400: 

3379 raise core_exceptions.from_http_response(response) 

3380 

3381 # Return the response 

3382 resp = resources.Secret() 

3383 pb_resp = resources.Secret.pb(resp) 

3384 

3385 json_format.Parse(response.content, pb_resp, ignore_unknown_fields=True) 

3386 

3387 resp = self._interceptor.post_update_secret(resp) 

3388 response_metadata = [(k, str(v)) for k, v in response.headers.items()] 

3389 resp, _ = self._interceptor.post_update_secret_with_metadata( 

3390 resp, response_metadata 

3391 ) 

3392 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

3393 logging.DEBUG 

3394 ): # pragma: NO COVER 

3395 try: 

3396 response_payload = resources.Secret.to_json(response) 

3397 except: 

3398 response_payload = None 

3399 http_response = { 

3400 "payload": response_payload, 

3401 "headers": dict(response.headers), 

3402 "status": response.status_code, 

3403 } 

3404 _LOGGER.debug( 

3405 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceClient.update_secret", 

3406 extra={ 

3407 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

3408 "rpcName": "UpdateSecret", 

3409 "metadata": http_response["headers"], 

3410 "httpResponse": http_response, 

3411 }, 

3412 ) 

3413 return resp 

3414 

3415 @property 

3416 def access_secret_version( 

3417 self, 

3418 ) -> Callable[ 

3419 [service.AccessSecretVersionRequest], service.AccessSecretVersionResponse 

3420 ]: 

3421 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3422 # In C++ this would require a dynamic_cast 

3423 return self._AccessSecretVersion(self._session, self._host, self._interceptor) # type: ignore 

3424 

3425 @property 

3426 def add_secret_version( 

3427 self, 

3428 ) -> Callable[[service.AddSecretVersionRequest], resources.SecretVersion]: 

3429 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3430 # In C++ this would require a dynamic_cast 

3431 return self._AddSecretVersion(self._session, self._host, self._interceptor) # type: ignore 

3432 

3433 @property 

3434 def create_secret( 

3435 self, 

3436 ) -> Callable[[service.CreateSecretRequest], resources.Secret]: 

3437 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3438 # In C++ this would require a dynamic_cast 

3439 return self._CreateSecret(self._session, self._host, self._interceptor) # type: ignore 

3440 

3441 @property 

3442 def delete_secret(self) -> Callable[[service.DeleteSecretRequest], empty_pb2.Empty]: 

3443 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3444 # In C++ this would require a dynamic_cast 

3445 return self._DeleteSecret(self._session, self._host, self._interceptor) # type: ignore 

3446 

3447 @property 

3448 def destroy_secret_version( 

3449 self, 

3450 ) -> Callable[[service.DestroySecretVersionRequest], resources.SecretVersion]: 

3451 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3452 # In C++ this would require a dynamic_cast 

3453 return self._DestroySecretVersion(self._session, self._host, self._interceptor) # type: ignore 

3454 

3455 @property 

3456 def disable_secret_version( 

3457 self, 

3458 ) -> Callable[[service.DisableSecretVersionRequest], resources.SecretVersion]: 

3459 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3460 # In C++ this would require a dynamic_cast 

3461 return self._DisableSecretVersion(self._session, self._host, self._interceptor) # type: ignore 

3462 

3463 @property 

3464 def enable_secret_version( 

3465 self, 

3466 ) -> Callable[[service.EnableSecretVersionRequest], resources.SecretVersion]: 

3467 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3468 # In C++ this would require a dynamic_cast 

3469 return self._EnableSecretVersion(self._session, self._host, self._interceptor) # type: ignore 

3470 

3471 @property 

3472 def get_iam_policy( 

3473 self, 

3474 ) -> Callable[[iam_policy_pb2.GetIamPolicyRequest], policy_pb2.Policy]: 

3475 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3476 # In C++ this would require a dynamic_cast 

3477 return self._GetIamPolicy(self._session, self._host, self._interceptor) # type: ignore 

3478 

3479 @property 

3480 def get_secret(self) -> Callable[[service.GetSecretRequest], resources.Secret]: 

3481 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3482 # In C++ this would require a dynamic_cast 

3483 return self._GetSecret(self._session, self._host, self._interceptor) # type: ignore 

3484 

3485 @property 

3486 def get_secret_version( 

3487 self, 

3488 ) -> Callable[[service.GetSecretVersionRequest], resources.SecretVersion]: 

3489 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3490 # In C++ this would require a dynamic_cast 

3491 return self._GetSecretVersion(self._session, self._host, self._interceptor) # type: ignore 

3492 

3493 @property 

3494 def list_secrets( 

3495 self, 

3496 ) -> Callable[[service.ListSecretsRequest], service.ListSecretsResponse]: 

3497 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3498 # In C++ this would require a dynamic_cast 

3499 return self._ListSecrets(self._session, self._host, self._interceptor) # type: ignore 

3500 

3501 @property 

3502 def list_secret_versions( 

3503 self, 

3504 ) -> Callable[ 

3505 [service.ListSecretVersionsRequest], service.ListSecretVersionsResponse 

3506 ]: 

3507 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3508 # In C++ this would require a dynamic_cast 

3509 return self._ListSecretVersions(self._session, self._host, self._interceptor) # type: ignore 

3510 

3511 @property 

3512 def set_iam_policy( 

3513 self, 

3514 ) -> Callable[[iam_policy_pb2.SetIamPolicyRequest], policy_pb2.Policy]: 

3515 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3516 # In C++ this would require a dynamic_cast 

3517 return self._SetIamPolicy(self._session, self._host, self._interceptor) # type: ignore 

3518 

3519 @property 

3520 def test_iam_permissions( 

3521 self, 

3522 ) -> Callable[ 

3523 [iam_policy_pb2.TestIamPermissionsRequest], 

3524 iam_policy_pb2.TestIamPermissionsResponse, 

3525 ]: 

3526 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3527 # In C++ this would require a dynamic_cast 

3528 return self._TestIamPermissions(self._session, self._host, self._interceptor) # type: ignore 

3529 

3530 @property 

3531 def update_secret( 

3532 self, 

3533 ) -> Callable[[service.UpdateSecretRequest], resources.Secret]: 

3534 # The return type is fine, but mypy isn't sophisticated enough to determine what's going on here. 

3535 # In C++ this would require a dynamic_cast 

3536 return self._UpdateSecret(self._session, self._host, self._interceptor) # type: ignore 

3537 

3538 @property 

3539 def get_location(self): 

3540 return self._GetLocation(self._session, self._host, self._interceptor) # type: ignore 

3541 

3542 class _GetLocation( 

3543 _BaseSecretManagerServiceRestTransport._BaseGetLocation, 

3544 SecretManagerServiceRestStub, 

3545 ): 

3546 def __hash__(self): 

3547 return hash("SecretManagerServiceRestTransport.GetLocation") 

3548 

3549 @staticmethod 

3550 def _get_response( 

3551 host, 

3552 metadata, 

3553 query_params, 

3554 session, 

3555 timeout, 

3556 transcoded_request, 

3557 body=None, 

3558 ): 

3559 uri = transcoded_request["uri"] 

3560 method = transcoded_request["method"] 

3561 headers = dict(metadata) 

3562 headers["Content-Type"] = "application/json" 

3563 response = getattr(session, method)( 

3564 "{host}{uri}".format(host=host, uri=uri), 

3565 timeout=timeout, 

3566 headers=headers, 

3567 params=rest_helpers.flatten_query_params(query_params, strict=True), 

3568 ) 

3569 return response 

3570 

3571 def __call__( 

3572 self, 

3573 request: locations_pb2.GetLocationRequest, 

3574 *, 

3575 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

3576 timeout: Optional[float] = None, 

3577 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

3578 ) -> locations_pb2.Location: 

3579 r"""Call the get location method over HTTP. 

3580 

3581 Args: 

3582 request (locations_pb2.GetLocationRequest): 

3583 The request object for GetLocation method. 

3584 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

3585 should be retried. 

3586 timeout (float): The timeout for this request. 

3587 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

3588 sent along with the request as metadata. Normally, each value must be of type `str`, 

3589 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

3590 be of type `bytes`. 

3591 

3592 Returns: 

3593 locations_pb2.Location: Response from GetLocation method. 

3594 """ 

3595 

3596 http_options = _BaseSecretManagerServiceRestTransport._BaseGetLocation._get_http_options() 

3597 

3598 request, metadata = self._interceptor.pre_get_location(request, metadata) 

3599 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseGetLocation._get_transcoded_request( 

3600 http_options, request 

3601 ) 

3602 

3603 # Jsonify the query params 

3604 query_params = _BaseSecretManagerServiceRestTransport._BaseGetLocation._get_query_params_json( 

3605 transcoded_request 

3606 ) 

3607 

3608 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

3609 logging.DEBUG 

3610 ): # pragma: NO COVER 

3611 request_url = "{host}{uri}".format( 

3612 host=self._host, uri=transcoded_request["uri"] 

3613 ) 

3614 method = transcoded_request["method"] 

3615 try: 

3616 request_payload = json_format.MessageToJson(request) 

3617 except: 

3618 request_payload = None 

3619 http_request = { 

3620 "payload": request_payload, 

3621 "requestMethod": method, 

3622 "requestUrl": request_url, 

3623 "headers": dict(metadata), 

3624 } 

3625 _LOGGER.debug( 

3626 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.GetLocation", 

3627 extra={ 

3628 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

3629 "rpcName": "GetLocation", 

3630 "httpRequest": http_request, 

3631 "metadata": http_request["headers"], 

3632 }, 

3633 ) 

3634 

3635 # Send the request 

3636 response = SecretManagerServiceRestTransport._GetLocation._get_response( 

3637 self._host, 

3638 metadata, 

3639 query_params, 

3640 self._session, 

3641 timeout, 

3642 transcoded_request, 

3643 ) 

3644 

3645 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

3646 # subclass. 

3647 if response.status_code >= 400: 

3648 raise core_exceptions.from_http_response(response) 

3649 

3650 content = response.content.decode("utf-8") 

3651 resp = locations_pb2.Location() 

3652 resp = json_format.Parse(content, resp) 

3653 resp = self._interceptor.post_get_location(resp) 

3654 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

3655 logging.DEBUG 

3656 ): # pragma: NO COVER 

3657 try: 

3658 response_payload = json_format.MessageToJson(resp) 

3659 except: 

3660 response_payload = None 

3661 http_response = { 

3662 "payload": response_payload, 

3663 "headers": dict(response.headers), 

3664 "status": response.status_code, 

3665 } 

3666 _LOGGER.debug( 

3667 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceAsyncClient.GetLocation", 

3668 extra={ 

3669 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

3670 "rpcName": "GetLocation", 

3671 "httpResponse": http_response, 

3672 "metadata": http_response["headers"], 

3673 }, 

3674 ) 

3675 return resp 

3676 

3677 @property 

3678 def list_locations(self): 

3679 return self._ListLocations(self._session, self._host, self._interceptor) # type: ignore 

3680 

3681 class _ListLocations( 

3682 _BaseSecretManagerServiceRestTransport._BaseListLocations, 

3683 SecretManagerServiceRestStub, 

3684 ): 

3685 def __hash__(self): 

3686 return hash("SecretManagerServiceRestTransport.ListLocations") 

3687 

3688 @staticmethod 

3689 def _get_response( 

3690 host, 

3691 metadata, 

3692 query_params, 

3693 session, 

3694 timeout, 

3695 transcoded_request, 

3696 body=None, 

3697 ): 

3698 uri = transcoded_request["uri"] 

3699 method = transcoded_request["method"] 

3700 headers = dict(metadata) 

3701 headers["Content-Type"] = "application/json" 

3702 response = getattr(session, method)( 

3703 "{host}{uri}".format(host=host, uri=uri), 

3704 timeout=timeout, 

3705 headers=headers, 

3706 params=rest_helpers.flatten_query_params(query_params, strict=True), 

3707 ) 

3708 return response 

3709 

3710 def __call__( 

3711 self, 

3712 request: locations_pb2.ListLocationsRequest, 

3713 *, 

3714 retry: OptionalRetry = gapic_v1.method.DEFAULT, 

3715 timeout: Optional[float] = None, 

3716 metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), 

3717 ) -> locations_pb2.ListLocationsResponse: 

3718 r"""Call the list locations method over HTTP. 

3719 

3720 Args: 

3721 request (locations_pb2.ListLocationsRequest): 

3722 The request object for ListLocations method. 

3723 retry (google.api_core.retry.Retry): Designation of what errors, if any, 

3724 should be retried. 

3725 timeout (float): The timeout for this request. 

3726 metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be 

3727 sent along with the request as metadata. Normally, each value must be of type `str`, 

3728 but for metadata keys ending with the suffix `-bin`, the corresponding values must 

3729 be of type `bytes`. 

3730 

3731 Returns: 

3732 locations_pb2.ListLocationsResponse: Response from ListLocations method. 

3733 """ 

3734 

3735 http_options = _BaseSecretManagerServiceRestTransport._BaseListLocations._get_http_options() 

3736 

3737 request, metadata = self._interceptor.pre_list_locations(request, metadata) 

3738 transcoded_request = _BaseSecretManagerServiceRestTransport._BaseListLocations._get_transcoded_request( 

3739 http_options, request 

3740 ) 

3741 

3742 # Jsonify the query params 

3743 query_params = _BaseSecretManagerServiceRestTransport._BaseListLocations._get_query_params_json( 

3744 transcoded_request 

3745 ) 

3746 

3747 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

3748 logging.DEBUG 

3749 ): # pragma: NO COVER 

3750 request_url = "{host}{uri}".format( 

3751 host=self._host, uri=transcoded_request["uri"] 

3752 ) 

3753 method = transcoded_request["method"] 

3754 try: 

3755 request_payload = json_format.MessageToJson(request) 

3756 except: 

3757 request_payload = None 

3758 http_request = { 

3759 "payload": request_payload, 

3760 "requestMethod": method, 

3761 "requestUrl": request_url, 

3762 "headers": dict(metadata), 

3763 } 

3764 _LOGGER.debug( 

3765 f"Sending request for google.cloud.secrets_v1beta1.SecretManagerServiceClient.ListLocations", 

3766 extra={ 

3767 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

3768 "rpcName": "ListLocations", 

3769 "httpRequest": http_request, 

3770 "metadata": http_request["headers"], 

3771 }, 

3772 ) 

3773 

3774 # Send the request 

3775 response = SecretManagerServiceRestTransport._ListLocations._get_response( 

3776 self._host, 

3777 metadata, 

3778 query_params, 

3779 self._session, 

3780 timeout, 

3781 transcoded_request, 

3782 ) 

3783 

3784 # In case of error, raise the appropriate core_exceptions.GoogleAPICallError exception 

3785 # subclass. 

3786 if response.status_code >= 400: 

3787 raise core_exceptions.from_http_response(response) 

3788 

3789 content = response.content.decode("utf-8") 

3790 resp = locations_pb2.ListLocationsResponse() 

3791 resp = json_format.Parse(content, resp) 

3792 resp = self._interceptor.post_list_locations(resp) 

3793 if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor( 

3794 logging.DEBUG 

3795 ): # pragma: NO COVER 

3796 try: 

3797 response_payload = json_format.MessageToJson(resp) 

3798 except: 

3799 response_payload = None 

3800 http_response = { 

3801 "payload": response_payload, 

3802 "headers": dict(response.headers), 

3803 "status": response.status_code, 

3804 } 

3805 _LOGGER.debug( 

3806 "Received response for google.cloud.secrets_v1beta1.SecretManagerServiceAsyncClient.ListLocations", 

3807 extra={ 

3808 "serviceName": "google.cloud.secrets.v1beta1.SecretManagerService", 

3809 "rpcName": "ListLocations", 

3810 "httpResponse": http_response, 

3811 "metadata": http_response["headers"], 

3812 }, 

3813 ) 

3814 return resp 

3815 

3816 @property 

3817 def kind(self) -> str: 

3818 return "rest" 

3819 

3820 def close(self): 

3821 self._session.close() 

3822 

3823 

3824__all__ = ("SecretManagerServiceRestTransport",)