|
61 | 61 | import com.google.cloud.storage.UnifiedOpts.BucketSourceOpt; |
62 | 62 | import com.google.cloud.storage.UnifiedOpts.BucketTargetOpt; |
63 | 63 | import com.google.cloud.storage.UnifiedOpts.Fields; |
64 | | -import com.google.cloud.storage.UnifiedOpts.HmacKeyListOpt; |
65 | | -import com.google.cloud.storage.UnifiedOpts.HmacKeySourceOpt; |
66 | | -import com.google.cloud.storage.UnifiedOpts.HmacKeyTargetOpt; |
67 | 64 | import com.google.cloud.storage.UnifiedOpts.Mapper; |
68 | 65 | import com.google.cloud.storage.UnifiedOpts.NamedField; |
69 | 66 | import com.google.cloud.storage.UnifiedOpts.ObjectListOpt; |
|
76 | 73 | import com.google.common.collect.ImmutableList; |
77 | 74 | import com.google.common.collect.ImmutableSet; |
78 | 75 | import com.google.common.collect.Streams; |
79 | | -import com.google.common.io.BaseEncoding; |
80 | 76 | import com.google.common.io.ByteStreams; |
81 | 77 | import com.google.common.util.concurrent.MoreExecutors; |
82 | 78 | import com.google.iam.v1.GetIamPolicyRequest; |
83 | 79 | import com.google.iam.v1.SetIamPolicyRequest; |
84 | 80 | import com.google.iam.v1.TestIamPermissionsRequest; |
85 | | -import com.google.protobuf.ByteString; |
86 | | -import com.google.protobuf.FieldMask; |
87 | 81 | import com.google.storage.v2.BidiWriteObjectRequest; |
88 | 82 | import com.google.storage.v2.BucketAccessControl; |
89 | 83 | import com.google.storage.v2.ComposeObjectRequest; |
90 | 84 | import com.google.storage.v2.ComposeObjectRequest.SourceObject; |
91 | 85 | import com.google.storage.v2.CreateBucketRequest; |
92 | | -import com.google.storage.v2.CreateHmacKeyRequest; |
93 | 86 | import com.google.storage.v2.CreateNotificationConfigRequest; |
94 | 87 | import com.google.storage.v2.DeleteBucketRequest; |
95 | | -import com.google.storage.v2.DeleteHmacKeyRequest; |
96 | 88 | import com.google.storage.v2.DeleteNotificationConfigRequest; |
97 | 89 | import com.google.storage.v2.DeleteObjectRequest; |
98 | 90 | import com.google.storage.v2.GetBucketRequest; |
99 | | -import com.google.storage.v2.GetHmacKeyRequest; |
100 | 91 | import com.google.storage.v2.GetNotificationConfigRequest; |
101 | 92 | import com.google.storage.v2.GetObjectRequest; |
102 | 93 | import com.google.storage.v2.GetServiceAccountRequest; |
103 | 94 | import com.google.storage.v2.ListBucketsRequest; |
104 | | -import com.google.storage.v2.ListHmacKeysRequest; |
105 | 95 | import com.google.storage.v2.ListNotificationConfigsRequest; |
106 | 96 | import com.google.storage.v2.ListNotificationConfigsResponse; |
107 | 97 | import com.google.storage.v2.ListObjectsRequest; |
|
118 | 108 | import com.google.storage.v2.StorageClient; |
119 | 109 | import com.google.storage.v2.StorageClient.ListNotificationConfigsPage; |
120 | 110 | import com.google.storage.v2.UpdateBucketRequest; |
121 | | -import com.google.storage.v2.UpdateHmacKeyRequest; |
122 | 111 | import com.google.storage.v2.UpdateObjectRequest; |
123 | 112 | import com.google.storage.v2.WriteObjectRequest; |
124 | 113 | import com.google.storage.v2.WriteObjectResponse; |
@@ -1317,119 +1306,28 @@ public List<Acl> listAcls(BlobId blob) { |
1317 | 1306 |
|
1318 | 1307 | @Override |
1319 | 1308 | public HmacKey createHmacKey(ServiceAccount serviceAccount, CreateHmacKeyOption... options) { |
1320 | | - Opts<HmacKeyTargetOpt> opts = Opts.unwrap(options).prepend(defaultOpts); |
1321 | | - GrpcCallContext grpcCallContext = |
1322 | | - opts.grpcMetadataMapper().apply(GrpcCallContext.createDefault()); |
1323 | | - CreateHmacKeyRequest request = |
1324 | | - defaultProjectId |
1325 | | - .createHmacKey() |
1326 | | - .andThen(opts.createHmacKeysRequest()) |
1327 | | - .apply(CreateHmacKeyRequest.newBuilder()) |
1328 | | - .setServiceAccountEmail(serviceAccount.getEmail()) |
1329 | | - .build(); |
1330 | | - GrpcCallContext merge = Utils.merge(grpcCallContext, Retrying.newCallContext()); |
1331 | | - return Retrying.run( |
1332 | | - getOptions(), |
1333 | | - retryAlgorithmManager.getFor(request), |
1334 | | - () -> storageClient.createHmacKeyCallable().call(request, merge), |
1335 | | - resp -> { |
1336 | | - ByteString secretKeyBytes = resp.getSecretKeyBytes(); |
1337 | | - String b64SecretKey = BaseEncoding.base64().encode(secretKeyBytes.toByteArray()); |
1338 | | - return HmacKey.newBuilder(b64SecretKey) |
1339 | | - .setMetadata(codecs.hmacKeyMetadata().decode(resp.getMetadata())) |
1340 | | - .build(); |
1341 | | - }); |
| 1309 | + return CrossTransportUtils.throwHttpJsonOnly(Storage.class, "createHmacKey"); |
1342 | 1310 | } |
1343 | 1311 |
|
1344 | 1312 | @Override |
1345 | 1313 | public Page<HmacKeyMetadata> listHmacKeys(ListHmacKeysOption... options) { |
1346 | | - Opts<HmacKeyListOpt> opts = Opts.unwrap(options).prepend(defaultOpts); |
1347 | | - GrpcCallContext grpcCallContext = |
1348 | | - opts.grpcMetadataMapper().apply(GrpcCallContext.createDefault()); |
1349 | | - |
1350 | | - ListHmacKeysRequest request = |
1351 | | - defaultProjectId |
1352 | | - .listHmacKeys() |
1353 | | - .andThen(opts.listHmacKeysRequest()) |
1354 | | - .apply(ListHmacKeysRequest.newBuilder()) |
1355 | | - .build(); |
1356 | | - try { |
1357 | | - GrpcCallContext merge = Utils.merge(grpcCallContext, Retrying.newCallContext()); |
1358 | | - return Retrying.run( |
1359 | | - getOptions(), |
1360 | | - retryAlgorithmManager.getFor(request), |
1361 | | - () -> storageClient.listHmacKeysPagedCallable().call(request, merge), |
1362 | | - resp -> |
1363 | | - new TransformingPageDecorator<>( |
1364 | | - resp.getPage(), |
1365 | | - codecs.hmacKeyMetadata(), |
1366 | | - getOptions(), |
1367 | | - retryAlgorithmManager.getFor(request))); |
1368 | | - } catch (Exception e) { |
1369 | | - throw StorageException.coalesce(e); |
1370 | | - } |
| 1314 | + return CrossTransportUtils.throwHttpJsonOnly(Storage.class, "listHmacKey"); |
1371 | 1315 | } |
1372 | 1316 |
|
1373 | 1317 | @Override |
1374 | 1318 | public HmacKeyMetadata getHmacKey(String accessId, GetHmacKeyOption... options) { |
1375 | | - Opts<HmacKeySourceOpt> opts = Opts.unwrap(options).prepend(defaultOpts); |
1376 | | - GrpcCallContext grpcCallContext = |
1377 | | - opts.grpcMetadataMapper().apply(GrpcCallContext.createDefault()); |
1378 | | - GetHmacKeyRequest request = |
1379 | | - defaultProjectId |
1380 | | - .getHmacKey() |
1381 | | - .andThen(opts.getHmacKeysRequest()) |
1382 | | - .apply(GetHmacKeyRequest.newBuilder()) |
1383 | | - .setAccessId(accessId) |
1384 | | - .build(); |
1385 | | - GrpcCallContext merge = Utils.merge(grpcCallContext, Retrying.newCallContext()); |
1386 | | - return Retrying.run( |
1387 | | - getOptions(), |
1388 | | - retryAlgorithmManager.getFor(request), |
1389 | | - () -> storageClient.getHmacKeyCallable().call(request, merge), |
1390 | | - codecs.hmacKeyMetadata()); |
| 1319 | + return CrossTransportUtils.throwHttpJsonOnly(Storage.class, "getHmacKey"); |
1391 | 1320 | } |
1392 | 1321 |
|
1393 | 1322 | @Override |
1394 | 1323 | public void deleteHmacKey(HmacKeyMetadata hmacKeyMetadata, DeleteHmacKeyOption... options) { |
1395 | | - Opts<HmacKeyTargetOpt> opts = Opts.unwrap(options).prepend(defaultOpts); |
1396 | | - GrpcCallContext grpcCallContext = |
1397 | | - opts.grpcMetadataMapper().apply(GrpcCallContext.createDefault()); |
1398 | | - DeleteHmacKeyRequest req = |
1399 | | - DeleteHmacKeyRequest.newBuilder() |
1400 | | - .setAccessId(hmacKeyMetadata.getAccessId()) |
1401 | | - .setProject(projectNameCodec.encode(hmacKeyMetadata.getProjectId())) |
1402 | | - .build(); |
1403 | | - GrpcCallContext merge = Utils.merge(grpcCallContext, Retrying.newCallContext()); |
1404 | | - Retrying.run( |
1405 | | - getOptions(), |
1406 | | - retryAlgorithmManager.getFor(req), |
1407 | | - () -> { |
1408 | | - storageClient.deleteHmacKeyCallable().call(req, merge); |
1409 | | - return null; |
1410 | | - }, |
1411 | | - Decoder.identity()); |
| 1324 | + CrossTransportUtils.throwHttpJsonOnly(Storage.class, "deleteHmacKey"); |
1412 | 1325 | } |
1413 | 1326 |
|
1414 | 1327 | @Override |
1415 | 1328 | public HmacKeyMetadata updateHmacKeyState( |
1416 | 1329 | HmacKeyMetadata hmacKeyMetadata, HmacKeyState state, UpdateHmacKeyOption... options) { |
1417 | | - Opts<HmacKeyTargetOpt> opts = Opts.unwrap(options).prepend(defaultOpts); |
1418 | | - GrpcCallContext grpcCallContext = |
1419 | | - opts.grpcMetadataMapper().apply(GrpcCallContext.createDefault()); |
1420 | | - com.google.storage.v2.HmacKeyMetadata encode = |
1421 | | - codecs.hmacKeyMetadata().encode(hmacKeyMetadata).toBuilder().setState(state.name()).build(); |
1422 | | - |
1423 | | - UpdateHmacKeyRequest.Builder builder = |
1424 | | - opts.updateHmacKeysRequest().apply(UpdateHmacKeyRequest.newBuilder()).setHmacKey(encode); |
1425 | | - UpdateHmacKeyRequest request = |
1426 | | - builder.setUpdateMask(FieldMask.newBuilder().addPaths("state").build()).build(); |
1427 | | - GrpcCallContext merge = Utils.merge(grpcCallContext, Retrying.newCallContext()); |
1428 | | - return Retrying.run( |
1429 | | - getOptions(), |
1430 | | - retryAlgorithmManager.getFor(request), |
1431 | | - () -> storageClient.updateHmacKeyCallable().call(request, merge), |
1432 | | - codecs.hmacKeyMetadata()); |
| 1330 | + return CrossTransportUtils.throwHttpJsonOnly(Storage.class, "updateHmacKeyState"); |
1433 | 1331 | } |
1434 | 1332 |
|
1435 | 1333 | @Override |
|
0 commit comments