@@ -99,6 +99,17 @@ def remove_bucket_label(bucket_name):
99
99
pprint .pprint (bucket .labels )
100
100
101
101
102
+ # [START storage_list_buckets]
103
+ def list_buckets ():
104
+ """Lists all buckets."""
105
+ storage_client = storage .Client ()
106
+ buckets = storage_client .list_buckets ()
107
+
108
+ for bucket in buckets :
109
+ print (bucket .name )
110
+ # [END storage_list_buckets]
111
+
112
+
102
113
def list_blobs (bucket_name ):
103
114
"""Lists all the blobs in the bucket."""
104
115
storage_client = storage .Client ()
@@ -352,58 +363,164 @@ def copy_blob(bucket_name, blob_name, new_bucket_name, new_blob_name):
352
363
destination_bucket .name ))
353
364
354
365
366
+ def bucket_commands (args ):
367
+ if args .command == 'list-buckets' :
368
+ list_buckets ()
369
+ elif args .command == 'create-bucket' :
370
+ create_bucket (args .bucket_name )
371
+ elif args .command == 'enable-default-kms-key' :
372
+ enable_default_kms_key (args .bucket_name , args .kms_key_name )
373
+ elif args .command == 'delete-bucket' :
374
+ delete_bucket (args .bucket_name )
375
+ elif args .command == 'get-bucket-labels' :
376
+ get_bucket_labels (args .bucket_name )
377
+ elif args .command == 'add-bucket-label' :
378
+ add_bucket_label (args .bucket_name )
379
+ elif args .command == 'remove-bucket-label' :
380
+ remove_bucket_label (args .bucket_name )
381
+
382
+
383
+ def blob_commands (args ):
384
+ if args .command == 'list' :
385
+ list_blobs (args .bucket_name )
386
+ elif args .command == 'list-with-prefix' :
387
+ list_blobs_with_prefix (args .bucket_name , args .prefix , args .delimiter )
388
+ elif args .command == 'upload' :
389
+ upload_blob (
390
+ args .bucket_name ,
391
+ args .source_file_name ,
392
+ args .destination_blob_name )
393
+ elif args .command == 'upload-with-kms-key' :
394
+ upload_blob_with_kms (
395
+ args .bucket_name ,
396
+ args .source_file_name ,
397
+ args .destination_blob_name ,
398
+ args .kms_key_name )
399
+ elif args .command == 'download' :
400
+ download_blob (
401
+ args .bucket_name ,
402
+ args .source_blob_name ,
403
+ args .destination_file_name )
404
+ elif args .command == 'delete' :
405
+ delete_blob (args .bucket_name , args .blob_name )
406
+ elif args .command == 'metadata' :
407
+ blob_metadata (args .bucket_name , args .blob_name )
408
+ elif args .command == 'make-public' :
409
+ make_blob_public (args .bucket_name , args .blob_name )
410
+ elif args .command == 'signed-url' :
411
+ generate_signed_url (args .bucket_name , args .blob_name )
412
+ elif args .command == 'signed-url-download-v4' :
413
+ generate_download_signed_url_v4 (args .bucket_name , args .blob_name )
414
+ elif args .command == 'signed-url-upload-v4' :
415
+ generate_upload_signed_url_v4 (args .bucket_name , args .blob_name )
416
+ elif args .command == 'rename' :
417
+ rename_blob (args .bucket_name , args .blob_name , args .new_name )
418
+ elif args .command == 'copy' :
419
+ copy_blob (
420
+ args .bucket_name ,
421
+ args .blob_name ,
422
+ args .new_bucket_name ,
423
+ args .new_blob_name )
424
+
425
+
355
426
def main ():
356
427
parser = argparse .ArgumentParser (
357
428
description = __doc__ ,
358
429
formatter_class = argparse .RawDescriptionHelpFormatter )
359
- parser .add_argument ('bucket_name' , help = 'Your cloud storage bucket.' )
360
430
361
431
subparsers = parser .add_subparsers (dest = 'command' )
362
- subparsers .add_parser ('create-bucket' , help = create_bucket .__doc__ )
363
- subparsers .add_parser ('delete-bucket' , help = delete_bucket .__doc__ )
364
- subparsers .add_parser ('get-bucket-labels' , help = get_bucket_labels .__doc__ )
365
- subparsers .add_parser ('add-bucket-label' , help = add_bucket_label .__doc__ )
366
- subparsers .add_parser (
432
+ list_buckets_parser = subparsers .add_parser (
433
+ 'list-buckets' , help = list_buckets .__doc__ )
434
+ list_buckets_parser .add_argument (
435
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
436
+
437
+ create_bucket_parser = subparsers .add_parser (
438
+ 'create-bucket' , help = create_bucket .__doc__ )
439
+ create_bucket_parser .add_argument (
440
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
441
+
442
+ delete_create_parser = subparsers .add_parser (
443
+ 'delete-bucket' , help = delete_bucket .__doc__ )
444
+ delete_create_parser .add_argument (
445
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
446
+
447
+ get_bucket_labels_parser = subparsers .add_parser (
448
+ 'get-bucket-labels' , help = get_bucket_labels .__doc__ )
449
+ get_bucket_labels_parser .add_argument (
450
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
451
+
452
+ add_bucket_label_parser = subparsers .add_parser (
453
+ 'add-bucket-label' , help = add_bucket_label .__doc__ )
454
+ add_bucket_label_parser .add_argument (
455
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
456
+
457
+ remove_bucket_label_parser = subparsers .add_parser (
367
458
'remove-bucket-label' , help = remove_bucket_label .__doc__ )
368
- subparsers .add_parser ('list' , help = list_blobs .__doc__ )
459
+ remove_bucket_label_parser .add_argument (
460
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
461
+
462
+ list_blobs_parser = subparsers .add_parser (
463
+ 'list' , help = list_blobs .__doc__ )
464
+ list_blobs_parser .add_argument (
465
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
369
466
370
467
list_with_prefix_parser = subparsers .add_parser (
371
468
'list-with-prefix' , help = list_blobs_with_prefix .__doc__ )
469
+ list_with_prefix_parser .add_argument (
470
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
372
471
list_with_prefix_parser .add_argument ('prefix' )
373
472
list_with_prefix_parser .add_argument ('--delimiter' , default = None )
374
473
375
- upload_parser = subparsers .add_parser ('upload' , help = upload_blob .__doc__ )
474
+ upload_parser = subparsers .add_parser (
475
+ 'upload' , help = upload_blob .__doc__ )
476
+ upload_parser .add_argument (
477
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
376
478
upload_parser .add_argument ('source_file_name' )
377
479
upload_parser .add_argument ('destination_blob_name' )
378
480
379
481
enable_default_kms_parser = subparsers .add_parser (
380
482
'enable-default-kms-key' , help = enable_default_kms_key .__doc__ )
483
+ enable_default_kms_parser .add_argument (
484
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
381
485
enable_default_kms_parser .add_argument ('kms_key_name' )
382
486
383
487
upload_kms_parser = subparsers .add_parser (
384
488
'upload-with-kms-key' , help = upload_blob_with_kms .__doc__ )
489
+ upload_kms_parser .add_argument (
490
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
385
491
upload_kms_parser .add_argument ('source_file_name' )
386
492
upload_kms_parser .add_argument ('destination_blob_name' )
387
493
upload_kms_parser .add_argument ('kms_key_name' )
388
494
389
495
download_parser = subparsers .add_parser (
390
496
'download' , help = download_blob .__doc__ )
497
+ download_parser .add_argument (
498
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
391
499
download_parser .add_argument ('source_blob_name' )
392
500
download_parser .add_argument ('destination_file_name' )
393
501
394
- delete_parser = subparsers .add_parser ('delete' , help = delete_blob .__doc__ )
502
+ delete_parser = subparsers .add_parser (
503
+ 'delete' , help = delete_blob .__doc__ )
504
+ delete_parser .add_argument (
505
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
395
506
delete_parser .add_argument ('blob_name' )
396
507
397
508
metadata_parser = subparsers .add_parser (
398
509
'metadata' , help = blob_metadata .__doc__ )
510
+ metadata_parser .add_argument (
511
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
399
512
metadata_parser .add_argument ('blob_name' )
400
513
401
514
make_public_parser = subparsers .add_parser (
402
515
'make-public' , help = make_blob_public .__doc__ )
516
+ make_public_parser .add_argument (
517
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
403
518
make_public_parser .add_argument ('blob_name' )
404
519
405
520
signed_url_parser = subparsers .add_parser (
406
521
'signed-url' , help = generate_signed_url .__doc__ )
522
+ signed_url_parser .add_argument (
523
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
407
524
signed_url_parser .add_argument ('blob_name' )
408
525
409
526
signed_url_download_v4_parser = subparsers .add_parser (
@@ -414,69 +531,22 @@ def main():
414
531
'signed-url-upload-v4' , help = generate_upload_signed_url_v4 .__doc__ )
415
532
signed_url_upload_v4_parser .add_argument ('blob_name' )
416
533
417
- rename_parser = subparsers .add_parser ('rename' , help = rename_blob .__doc__ )
534
+ rename_parser = subparsers .add_parser (
535
+ 'rename' , help = rename_blob .__doc__ )
536
+ rename_parser .add_argument (
537
+ 'bucket_name' , help = 'Your cloud storage bucket.' )
418
538
rename_parser .add_argument ('blob_name' )
419
539
rename_parser .add_argument ('new_name' )
420
540
421
541
copy_parser = subparsers .add_parser ('copy' , help = rename_blob .__doc__ )
542
+ copy_parser .add_argument ('bucket_name' , help = 'Your cloud storage bucket.' )
422
543
copy_parser .add_argument ('blob_name' )
423
544
copy_parser .add_argument ('new_bucket_name' )
424
545
copy_parser .add_argument ('new_blob_name' )
425
546
426
547
args = parser .parse_args ()
427
-
428
- if args .command == 'create-bucket' :
429
- create_bucket (args .bucket_name )
430
- elif args .command == 'enable-default-kms-key' :
431
- enable_default_kms_key (args .bucket_name , args .kms_key_name )
432
- elif args .command == 'delete-bucket' :
433
- delete_bucket (args .bucket_name )
434
- elif args .command == 'get-bucket-labels' :
435
- get_bucket_labels (args .bucket_name )
436
- elif args .command == 'add-bucket-label' :
437
- add_bucket_label (args .bucket_name )
438
- elif args .command == 'remove-bucket-label' :
439
- remove_bucket_label (args .bucket_name )
440
- elif args .command == 'list' :
441
- list_blobs (args .bucket_name )
442
- elif args .command == 'list-with-prefix' :
443
- list_blobs_with_prefix (args .bucket_name , args .prefix , args .delimiter )
444
- elif args .command == 'upload' :
445
- upload_blob (
446
- args .bucket_name ,
447
- args .source_file_name ,
448
- args .destination_blob_name )
449
- elif args .command == 'upload-with-kms-key' :
450
- upload_blob_with_kms (
451
- args .bucket_name ,
452
- args .source_file_name ,
453
- args .destination_blob_name ,
454
- args .kms_key_name )
455
- elif args .command == 'download' :
456
- download_blob (
457
- args .bucket_name ,
458
- args .source_blob_name ,
459
- args .destination_file_name )
460
- elif args .command == 'delete' :
461
- delete_blob (args .bucket_name , args .blob_name )
462
- elif args .command == 'metadata' :
463
- blob_metadata (args .bucket_name , args .blob_name )
464
- elif args .command == 'make-public' :
465
- make_blob_public (args .bucket_name , args .blob_name )
466
- elif args .command == 'signed-url' :
467
- generate_signed_url (args .bucket_name , args .blob_name )
468
- elif args .command == 'signed-url-download-v4' :
469
- generate_download_signed_url_v4 (args .bucket_name , args .blob_name )
470
- elif args .command == 'signed-url-upload-v4' :
471
- generate_upload_signed_url_v4 (args .bucket_name , args .blob_name )
472
- elif args .command == 'rename' :
473
- rename_blob (args .bucket_name , args .blob_name , args .new_name )
474
- elif args .command == 'copy' :
475
- copy_blob (
476
- args .bucket_name ,
477
- args .blob_name ,
478
- args .new_bucket_name ,
479
- args .new_blob_name )
548
+ bucket_commands (args )
549
+ blob_commands (args )
480
550
481
551
482
552
if __name__ == '__main__' :
0 commit comments