Skip to content

Commit

Permalink
samples(storage): Adding sample for get_bucket_class_and_location (#2…
Browse files Browse the repository at this point in the history
  • Loading branch information
shubhangi-google authored Sep 21, 2024
1 parent e9cfd04 commit 5ad3072
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
18 changes: 18 additions & 0 deletions google-cloud-storage/samples/acceptance/buckets_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
require_relative "../storage_enable_requester_pays"
require_relative "../storage_enable_uniform_bucket_level_access"
require_relative "../storage_enable_versioning"
require_relative "../storage_get_bucket_class_and_location"
require_relative "../storage_get_bucket_metadata"
require_relative "../storage_get_default_event_based_hold"
require_relative "../storage_get_public_access_prevention"
Expand Down Expand Up @@ -349,6 +350,23 @@
end
end

describe "get bucket class and location data" do
bucket_name = random_bucket_name
location = "US"
storage_class = "COLDLINE"

it "get_bucket_class_and_location" do
storage_client.create_bucket bucket_name,
location: location,
storage_class: storage_class
expected_output = "Bucket #{bucket_name} storage class is " \
"#{storage_class}, and the location is #{location}\n"
assert_output expected_output do
get_bucket_class_and_location bucket_name: bucket_name
end
end
end

describe "labels" do
it "add_bucket_label, remove_bucket_label" do
# add_bucket_label
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# [START storage_get_bucket_class_and_location]

def get_bucket_class_and_location bucket_name:
# The ID of your GCS bucket
# bucket_name = "your-unique-bucket-name"
require "google/cloud/storage"

# Initialize Google Cloud Storage client
storage = Google::Cloud::Storage.new

# Fetch bucket metadata
bucket = storage.bucket bucket_name

# Handle the case where the bucket is not found
raise "Bucket not found: #{bucket_name}" if bucket.nil?

# Output the bucket's storage class and location
puts "Bucket #{bucket.name} storage class is #{bucket.storage_class}, and the location is #{bucket.location}"
end
# [END storage_get_bucket_class_and_location]

get_bucket_class_and_location bucket_name: ARGV.shift if $PROGRAM_NAME == __FILE__

0 comments on commit 5ad3072

Please sign in to comment.