|
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