Parent

Class/Module Index [+]

Quicksearch

Fog::Storage::AWS::Directory

Constants

VALID_ACLS

Attributes

acl[R]

Public Instance Methods

acl=(new_acl) click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 19
def acl=(new_acl)
  unless VALID_ACLS.include?(new_acl)
    raise ArgumentError.new("acl must be one of [#{VALID_ACLS.join(', ')}]")
  else
    @acl = new_acl
  end
end
destroy() click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 27
def destroy
  requires :key
  service.delete_bucket(key)
  true
rescue Excon::Errors::NotFound
  false
end
files() click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 44
def files
  @files ||= Fog::Storage::AWS::Files.new(:directory => self, :service => service)
end
location() click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 35
def location
  @location ||= (bucket_location || self.service.region)
end
location=(new_location) click to toggle source

NOTE: you can't change the region once the bucket is created

# File lib/fog/aws/models/storage/directory.rb, line 40
def location=(new_location)
  @location = new_location
end
payer() click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 48
def payer
  requires :key
  data = service.get_request_payment(key)
  data.body['Payer']
end
payer=(new_payer) click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 54
def payer=(new_payer)
  requires :key
  service.put_request_payment(key, new_payer)
  @payer = new_payer
end
persisted?() click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 110
def persisted?
  # is_persisted is true in case of directories.get or after #save
  # creation_date is set in case of directories.all
  attributes[:is_persisted] || !!attributes[:creation_date]
end
public=(new_public) click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 75
def public=(new_public)
  self.acl = new_public ? 'public-read' : 'private'
  new_public
end
public_url() click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 80
def public_url
  requires :key
  if service.get_bucket_acl(key).body['AccessControlList'].detect {|grant| grant['Grantee']['URI'] == 'http://acs.amazonaws.com/groups/global/AllUsers' && grant['Permission'] == 'READ'}
    service.request_url(
      :bucket_name => key
    )
  else
    nil
  end
end
save() click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 91
def save
  requires :key

  options = {}

  options['x-amz-acl'] = acl if acl

  # http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUT.html
  # Ignore the default region us-east-1
  if !persisted? && location != DEFAULT_REGION
    options['LocationConstraint'] = location
  end

  service.put_bucket(key, options)
  attributes[:is_persisted] = true

  true
end
versioning=(new_versioning) click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 66
def versioning=(new_versioning)
  requires :key
  service.put_bucket_versioning(key, new_versioning ? 'Enabled' : 'Suspended')
end
versioning?() click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 60
def versioning?
  requires :key
  data = service.get_bucket_versioning(key)
  data.body['VersioningConfiguration']['Status'] == 'Enabled'
end
versions() click to toggle source
# File lib/fog/aws/models/storage/directory.rb, line 71
def versions
  @versions ||= Fog::Storage::AWS::Versions.new(:directory => self, :service => service)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.