lib/fog/storage/google_json/requests/put_bucket.rb
module Fog
module Storage
class GoogleJSON
class Real
# Create a Google Storage bucket
# @see https://cloud.google.com/storage/docs/json_api/v1/buckets/insert
#
# @param bucket_name [String] Name of bucket to create
# @param options [Hash]
# Optional fields. Acceptable options include
# any writeable bucket attribute (see docs)
# or one of the following options:
# @param predefined_acl [String] Applies a predefined set of access controls to this bucket.
# @param predefined_default_object_acl [String] Applies a predefined set of default object access controls
#
# @return [Google::Apis::StorageV1::Bucket]
def put_bucket(bucket_name,
predefined_acl: nil,
predefined_default_object_acl: nil,
**options)
bucket = ::Google::Apis::StorageV1::Bucket.new(
**options.merge(:name => bucket_name)
)
@storage_json.insert_bucket(
@project, bucket,
:predefined_acl => predefined_acl,
:predefined_default_object_acl => predefined_default_object_acl
)
end
end
class Mock
def put_bucket(_bucket_name, _options = {})
# :no-coverage:
Fog::Mock.not_implemented
# :no-coverage:
end
end
end
end
end