google-cloud-storage 1.51.0 → 1.53.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/lib/google/cloud/storage/bucket.rb +56 -0
- data/lib/google/cloud/storage/file.rb +44 -0
- data/lib/google/cloud/storage/project.rb +7 -2
- data/lib/google/cloud/storage/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe3e1f688d9b54f38ed678c881b0ad6b53f80d9a3f8983b23f2ea42939bb8c1d
|
4
|
+
data.tar.gz: 937a4544aa1f3497c62ec42c6c040cdc54be7eec8f8eb0a6a48825fc5adcd5c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fe5213423da8b342653278f41c9d00b45cfec9ed1e3d0bc451625390149e1f826ce7dff10e6d45bfddf80558f00a13814a0572193103c964d40b68217e44f2e
|
7
|
+
data.tar.gz: c7dcb018af799f2cbae6a3909377de03dca0127c642da171348c80be1f2870ee758c7d9f49d38035eded59b664713a7675aa775373793ea132bc220bdd47cbee
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
### 1.53.0 (2024-12-04)
|
4
|
+
|
5
|
+
#### Features
|
6
|
+
|
7
|
+
* add integration test for universe domain ([#27384](https://github.com/googleapis/google-cloud-ruby/issues/27384))
|
8
|
+
* fetch file and bucket details from url ([#27322](https://github.com/googleapis/google-cloud-ruby/issues/27322))
|
9
|
+
|
10
|
+
### 1.52.0 (2024-05-31)
|
11
|
+
|
12
|
+
#### Features
|
13
|
+
|
14
|
+
* support for hierarchical namespace (folders) ([#25967](https://github.com/googleapis/google-cloud-ruby/issues/25967))
|
15
|
+
|
3
16
|
### 1.51.0 (2024-04-25)
|
4
17
|
|
5
18
|
#### Features
|
@@ -1253,6 +1253,62 @@ module Google
|
|
1253
1253
|
patch_gapi! :soft_delete_policy
|
1254
1254
|
end
|
1255
1255
|
|
1256
|
+
##
|
1257
|
+
# The bucket's hierarchical namespace (Folders) configuration.
|
1258
|
+
# This value can be modified by calling {#hierarchical_namespace=}.
|
1259
|
+
#
|
1260
|
+
# @return [Google::Apis::StorageV1::Bucket::HierarchicalNamespace]
|
1261
|
+
#
|
1262
|
+
# @example
|
1263
|
+
# require "google/cloud/storage"
|
1264
|
+
#
|
1265
|
+
# storage = Google::Cloud::Storage.new
|
1266
|
+
#
|
1267
|
+
# bucket = storage.bucket "my-bucket"
|
1268
|
+
#
|
1269
|
+
# bucket.hierarchical_namespace
|
1270
|
+
#
|
1271
|
+
def hierarchical_namespace
|
1272
|
+
@gapi.hierarchical_namespace
|
1273
|
+
end
|
1274
|
+
|
1275
|
+
##
|
1276
|
+
# Sets the value of Hierarchical Namespace (Folders) for the bucket.
|
1277
|
+
# This can only be enabled at bucket create time. If this is enabled,
|
1278
|
+
# Uniform Bucket-Level Access must also be enabled.
|
1279
|
+
# This value can be queried by calling {#hierarchical_namespace}.
|
1280
|
+
#
|
1281
|
+
# @param [Google::Apis::StorageV1::Bucket::HierarchicalNamespace,
|
1282
|
+
# Hash(String => String)] new_hierarchical_namespace The
|
1283
|
+
# bucket's new Hierarchical Namespace Configuration.
|
1284
|
+
#
|
1285
|
+
# @example Enabled Hierarchical Namespace using HierarchicalNamespace class:
|
1286
|
+
# require "google/cloud/storage"
|
1287
|
+
#
|
1288
|
+
# storage = Google::Cloud::Storage.new
|
1289
|
+
#
|
1290
|
+
# bucket = storage.bucket "my-bucket"
|
1291
|
+
#
|
1292
|
+
# hierarchical_namespace = Google::Apis::StorageV1::Bucket::HierarchicalNamespace.new
|
1293
|
+
# hierarchical_namespace.enabled = true
|
1294
|
+
#
|
1295
|
+
# bucket.hierarchical_namespace = hierarchical_namespace
|
1296
|
+
#
|
1297
|
+
# @example Disable Hierarchical Namespace using Hash:
|
1298
|
+
# require "google/cloud/storage"
|
1299
|
+
#
|
1300
|
+
# storage = Google::Cloud::Storage.new
|
1301
|
+
#
|
1302
|
+
# bucket = storage.bucket "my-bucket"
|
1303
|
+
#
|
1304
|
+
# hierarchical_namespace = { enabled: false }
|
1305
|
+
# bucket.hierarchical_namespace = hierarchical_namespace
|
1306
|
+
#
|
1307
|
+
def hierarchical_namespace= new_hierarchical_namespace
|
1308
|
+
@gapi.hierarchical_namespace = new_hierarchical_namespace || {}
|
1309
|
+
patch_gapi! :hierarchical_namespace
|
1310
|
+
end
|
1311
|
+
|
1256
1312
|
##
|
1257
1313
|
# Updates the bucket with changes made in the given block in a single
|
1258
1314
|
# PATCH request. The following attributes may be set: {#cors},
|
@@ -2081,6 +2081,50 @@ module Google
|
|
2081
2081
|
Google::Apis::StorageV1::Object.new(**attr_params)
|
2082
2082
|
end
|
2083
2083
|
|
2084
|
+
##
|
2085
|
+
# from_gs_url is a method to fetch bucket details and file details from a gs url
|
2086
|
+
#
|
2087
|
+
# @return [Hash(String => String)]
|
2088
|
+
#
|
2089
|
+
# @example Fetch bucket_name and file_Path from gs url:
|
2090
|
+
# require "google/cloud/storage"
|
2091
|
+
# gs_url= "gs://my-todo-app/avatars/heidi.jpeg"
|
2092
|
+
# file=Google::Cloud::Storage::File
|
2093
|
+
# file.from_gs_url(gs_url)
|
2094
|
+
# =>
|
2095
|
+
# {"bucket_name"=>"my-todo-app", "file_path"=>"avatars/heidi.jpeg"}
|
2096
|
+
#
|
2097
|
+
# @example Fetch bucket_name , file_Path and other query params from gs url:
|
2098
|
+
# require "google/cloud/storage"
|
2099
|
+
# gs_url= "gs://my-todo-app/test_sub_folder/heidi.jpeg?params1=test1¶ms2=test2"
|
2100
|
+
# file=Google::Cloud::Storage::File
|
2101
|
+
# file.from_gs_url(gs_url)
|
2102
|
+
# =>{
|
2103
|
+
# "bucket_name"=>"my-todo-app",
|
2104
|
+
# "file_path"=>"test_sub_folder/heidi.jpeg",
|
2105
|
+
# "options" => {
|
2106
|
+
# "params1"=>"test1",
|
2107
|
+
# "params2"=>"test2"
|
2108
|
+
# }
|
2109
|
+
# }
|
2110
|
+
|
2111
|
+
def self.from_gs_url gs_url
|
2112
|
+
prefix = "gs://".freeze
|
2113
|
+
raise ArgumentError, "Invalid GCS URL" unless gs_url.start_with? prefix
|
2114
|
+
# seprating params from input url
|
2115
|
+
path, query = gs_url.sub(prefix, "").split("?", 2)
|
2116
|
+
# parsing the url
|
2117
|
+
bucket_name, file_path = path.split "/", 2
|
2118
|
+
query_params = URI.decode_www_form(query).to_h if query
|
2119
|
+
url_items = {
|
2120
|
+
"bucket_name" => bucket_name,
|
2121
|
+
"file_path" => file_path
|
2122
|
+
}
|
2123
|
+
# adding url params to output hash
|
2124
|
+
url_items.merge! "options" => query_params if query
|
2125
|
+
url_items
|
2126
|
+
end
|
2127
|
+
|
2084
2128
|
protected
|
2085
2129
|
|
2086
2130
|
##
|
@@ -421,6 +421,7 @@ module Google
|
|
421
421
|
# b.lifecycle.add_set_storage_class_rule "COLDLINE", age: 10
|
422
422
|
# end
|
423
423
|
#
|
424
|
+
# rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
424
425
|
def create_bucket bucket_name,
|
425
426
|
acl: nil,
|
426
427
|
default_acl: nil,
|
@@ -435,11 +436,13 @@ module Google
|
|
435
436
|
requester_pays: nil,
|
436
437
|
user_project: nil,
|
437
438
|
autoclass_enabled: false,
|
438
|
-
enable_object_retention: nil
|
439
|
+
enable_object_retention: nil,
|
440
|
+
hierarchical_namespace: nil
|
439
441
|
params = {
|
440
442
|
name: bucket_name,
|
441
443
|
location: location,
|
442
|
-
custom_placement_config: custom_placement_config
|
444
|
+
custom_placement_config: custom_placement_config,
|
445
|
+
hierarchical_namespace: hierarchical_namespace
|
443
446
|
}.delete_if { |_, v| v.nil? }
|
444
447
|
new_bucket = Google::Apis::StorageV1::Bucket.new(**params)
|
445
448
|
storage_class = storage_class_for storage_class
|
@@ -452,6 +455,7 @@ module Google
|
|
452
455
|
b.website_404 = website_404 unless website_404.nil?
|
453
456
|
b.versioning = versioning unless versioning.nil?
|
454
457
|
b.requester_pays = requester_pays unless requester_pays.nil?
|
458
|
+
b.hierarchical_namespace = hierarchical_namespace unless hierarchical_namespace.nil?
|
455
459
|
end
|
456
460
|
yield updater if block_given?
|
457
461
|
updater.check_for_changed_labels!
|
@@ -463,6 +467,7 @@ module Google
|
|
463
467
|
enable_object_retention: enable_object_retention
|
464
468
|
Bucket.from_gapi gapi, service, user_project: user_project
|
465
469
|
end
|
470
|
+
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
466
471
|
|
467
472
|
##
|
468
473
|
# Creates a new HMAC key.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-storage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.53.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Moore
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-04
|
12
|
+
date: 2024-12-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-cloud-core
|
@@ -59,14 +59,14 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '0.
|
62
|
+
version: '0.38'
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: '0.
|
69
|
+
version: '0.38'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: googleauth
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -340,7 +340,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
340
340
|
- !ruby/object:Gem::Version
|
341
341
|
version: '0'
|
342
342
|
requirements: []
|
343
|
-
rubygems_version: 3.5.
|
343
|
+
rubygems_version: 3.5.22
|
344
344
|
signing_key:
|
345
345
|
specification_version: 4
|
346
346
|
summary: API Client library for Google Cloud Storage
|