Class | Fog::Storage::Google::Real
In: | lib/fog/google/requests/storage/get_object_torrent.rb lib/fog/google/requests/storage/head_object.rb lib/fog/google/requests/storage/copy_object.rb lib/fog/google/requests/storage/put_object.rb lib/fog/google/requests/storage/put_bucket.rb lib/fog/google/requests/storage/get_service.rb lib/fog/google/requests/storage/put_bucket_acl.rb lib/fog/google/requests/storage/get_object_url.rb lib/fog/google/requests/storage/get_object_https_url.rb lib/fog/google/requests/storage/get_object_http_url.rb lib/fog/google/requests/storage/delete_bucket.rb lib/fog/google/requests/storage/get_object.rb lib/fog/google/requests/storage/get_object_acl.rb lib/fog/google/requests/storage/get_bucket.rb lib/fog/google/requests/storage/delete_object.rb lib/fog/google/requests/storage/put_object_url.rb lib/fog/google/storage.rb
Parent: | Object

### Methods

copy_object delete_bucket delete_object get_bucket get_object get_object_acl get_object_torrent get_object_url get_service head_object new put_bucket put_bucket_acl put_object put_object_url reload signature

### Included Modules

GetObjectHttpsUrl GetObjectHttpUrl Utils

### Public Class methods

new(options={})

Initialize connection to Google Storage

#### Notes

options parameter must include values for :google_storage_access_key_id and :google_storage_secret_access_key in order to create a connection

#### Examples

      google_storage = Storage.new(
        :google_storage_access_key_id => your_google_storage_access_key_id,
        :google_storage_secret_access_key => your_google_storage_secret_access_key
      )

#### Parameters

- options<~Hash> - config arguments for connection. Defaults to {}.

#### Returns

- Storage object with connection to google.

### Public Instance methods

copy_object(source_bucket_name, source_object_name, target_bucket_name, target_object_name, options = {})

Copy an object from one Google Storage bucket to another

#### Parameters

- source_bucket_name<~String> - Name of source bucket
- source_object_name<~String> - Name of source object
- target_bucket_name<~String> - Name of bucket to create copy in
- target_object_name<~String> - Name for new copy of object
- options<~Hash>:
  - ‘x-goog-metadata-directive’<~String> - Specifies whether to copy metadata from source or replace with data in request. Must be in [‘COPY’, ‘REPLACE’]
  - ‘x-goog-copy_source-if-match’<~String> - Copies object if its etag matches this value
  - ‘x-goog-copy_source-if-modified_since’<~Time> - Copies object it it has been modified since this time
  - ‘x-goog-copy_source-if-none-match’<~String> - Copies object if its etag does not match this value
  - ‘x-goog-copy_source-if-unmodified-since’<~Time> - Copies object it it has not been modified since this time

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘ETag’<~String> - etag of new object
    - ‘LastModified’<~Time> - date object was last modified

delete_bucket(bucket_name)

Delete an Google Storage bucket

#### Parameters

- bucket_name<~String> - name of bucket to delete

#### Returns

- response<~Excon::Response>:
  - status<~Integer> - 204

delete_object(bucket_name, object_name)

Delete an object from Google Storage

#### Parameters

- bucket_name<~String> - Name of bucket containing object to delete
- object_name<~String> - Name of object to delete

#### Returns

- response<~Excon::Response>:
  - status<~Integer> - 204

get_bucket(bucket_name, options = {})

List information about objects in an Google Storage bucket

#### Parameters

- bucket_name<~String> - name of bucket to list object keys from
- options<~Hash> - config arguments for list. Defaults to {}.
  - ‘delimiter’<~String> - causes keys with the same string between the prefix value and the first occurence of delimiter to be rolled up
  - ‘marker’<~String> - limits object keys to only those that appear lexicographically after its value.
  - ‘max-keys’<~Integer> - limits number of object keys returned
  - ‘prefix’<~String> - limits object keys to those beginning with its value.

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘Delimeter’<~String> - Delimiter specified for query
    - ‘IsTruncated’<~Boolean> - Whether or not the listing is truncated
    - ‘Marker’<~String> - Marker specified for query
    - ‘MaxKeys’<~Integer> - Maximum number of keys specified for query
    - ‘Name’<~String> - Name of the bucket
    - ‘Prefix’<~String> - Prefix specified for query
    - ‘CommonPrefixes’<~Array> - Array of strings for common prefixes
    - ‘Contents’<~Array>:
      - ‘ETag’<~String>: Etag of object
      - ‘Key’<~String>: Name of object
      - ‘LastModified’<~String>: Timestamp of last modification of object
      - ‘Owner’<~Hash>:
        - ‘DisplayName’<~String> - Display name of object owner
        - ‘ID’<~String> - Id of object owner
      - ‘Size’<~Integer> - Size of object

get_object(bucket_name, object_name, options = {}, &block)

Get an object from Google Storage

#### Parameters

- bucket_name<~String> - Name of bucket to read from
- object_name<~String> - Name of object to read
- options<~Hash>:
  - ‘If-Match’<~String> - Returns object only if its etag matches this value, otherwise returns 412 (Precondition Failed).
  - ‘If-Modified-Since’<~Time> - Returns object only if it has been modified since this time, otherwise returns 304 (Not Modified).
  - ‘If-None-Match’<~String> - Returns object only if its etag differs from this value, otherwise returns 304 (Not Modified)
  - ‘If-Unmodified-Since’<~Time> - Returns object only if it has not been modified since this time, otherwise returns 412 (Precodition Failed).
  - ‘Range’<~String> - Range of object to download
  - ‘versionId’<~String> - specify a particular version to retrieve

#### Returns

- response<~Excon::Response>:
  - body<~String> - Contents of object
  - headers<~Hash>:
    - ‘Content-Length’<~String> - Size of object contents
    - ‘Content-Type’<~String> - MIME type of object
    - ‘ETag’<~String> - Etag of object
    - ‘Last-Modified’<~String> - Last modified timestamp for object

get_object_acl(bucket_name, object_name, options = {})

Get access control list for an Google Storage object

#### Parameters

- bucket_name<~String> - name of bucket containing object
- object_name<~String> - name of object to get access control list for
- options<~Hash>:
  - ‘versionId’<~String> - specify a particular version to retrieve

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘AccessControlPolicy’<~Hash>
      - ‘Owner’<~Hash>:
        - ‘DisplayName’<~String> - Display name of object owner
        - ‘ID’<~String> - Id of object owner
      - ‘AccessControlList’<~Array>:
        - ‘Grant’<~Hash>:
          - ‘Grantee’<~Hash>:

                 * 'DisplayName'<~String> - Display name of grantee
                 * 'ID'<~String> - Id of grantee

            or

                 * 'URI'<~String> - URI of group to grant access for

          - ‘Permission’<~String> - Permission, in [FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP]

get_object_torrent(bucket_name, object_name)

Get torrent for an Google Storage object

#### Parameters

- bucket_name<~String> - name of bucket containing object
- object_name<~String> - name of object to get torrent for

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘AccessControlPolicy’<~Hash>
      - ‘Owner’<~Hash>:
        - ‘DisplayName’<~String> - Display name of object owner
        - ‘ID’<~String> - Id of object owner
      - ‘AccessControlList’<~Array>:
        - ‘Grant’<~Hash>:
          - ‘Grantee’<~Hash>:
            - ‘DisplayName’<~String> - Display name of grantee
            - ‘ID’<~String> - Id of grantee
          - ‘Permission’<~String> - Permission, in [FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP]

get_object_url(bucket_name, object_name, expires)

Get an expiring object url from Google Storage

#### Parameters

- bucket_name<~String> - Name of bucket containing object
- object_name<~String> - Name of object to get expiring url for
- expires<~Time> - An expiry time for this url

#### Returns

- response<~Excon::Response>:
  - body<~String> - url for object

#### See Also

docs.amazonwebservices.com/AmazonS3/latest/dev/S3_QSAuth.html

get_service()

List information about Google Storage buckets for authorized user

#### Returns

- response<~Excon::Response>:
  - body<~Hash>:
    - ‘Buckets’<~Hash>:
      - ‘Name’<~String> - Name of bucket
      - ‘CreationTime’<~Time> - Timestamp of bucket creation
    - ‘Owner’<~Hash>:
      - ‘DisplayName’<~String> - Display name of bucket owner
      - ‘ID’<~String> - Id of bucket owner

head_object(bucket_name, object_name, options={})

Get headers for an object from Google Storage

#### Parameters

- bucket_name<~String> - Name of bucket to read from
- object_name<~String> - Name of object to read
- options<~Hash>:
  - ‘If-Match’<~String> - Returns object only if its etag matches this value, otherwise returns 412 (Precondition Failed).
  - ‘If-Modified-Since’<~Time> - Returns object only if it has been modified since this time, otherwise returns 304 (Not Modified).
  - ‘If-None-Match’<~String> - Returns object only if its etag differs from this value, otherwise returns 304 (Not Modified)
  - ‘If-Unmodified-Since’<~Time> - Returns object only if it has not been modified since this time, otherwise returns 412 (Precodition Failed).
  - ‘Range’<~String> - Range of object to download
  - ‘versionId’<~String> - specify a particular version to retrieve

#### Returns

- response<~Excon::Response>:
  - body<~String> - Contents of object
  - headers<~Hash>:
    - ‘Content-Length’<~String> - Size of object contents
    - ‘Content-Type’<~String> - MIME type of object
    - ‘ETag’<~String> - Etag of object
    - ‘Last-Modified’<~String> - Last modified timestamp for object

put_bucket(bucket_name, options = {})

Create an Google Storage bucket

#### Parameters

- bucket_name<~String> - name of bucket to create
- options<~Hash> - config arguments for bucket. Defaults to {}.
  - ‘LocationConstraint’<~Symbol> - sets the location for the bucket
  - ‘x-amz-acl’<~String> - Permissions, must be in [‘private’, ‘public-read’, ‘public-read-write’, ‘authenticated-read’]

#### Returns

- response<~Excon::Response>:
  - status<~Integer> - 200

put_bucket_acl(bucket_name, acl)

Change access control list for an Google Storage bucket

#### Parameters

- bucket_name<~String> - name of bucket to modify
- acl<~Hash>:
  - Owner<~Hash>:
    - ID<~String>: id of owner
    - DisplayName<~String>: display name of owner
  - AccessControlList<~Array>:
    - scope<~Hash>:

            * 'type'<~String> - 'UserById'
            * 'ID'<~String> - Id of grantee

      or

            * 'type'<~String> - 'UserByEmail'
            * 'EmailAddress'<~String> - Email address of grantee

      or

            * 'type'<~String> - type of user to grant permission to

    - Permission<~String> - Permission, in [FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP]

put_object(bucket_name, object_name, data, options = {})

Create an object in an Google Storage bucket

#### Parameters

- bucket_name<~String> - Name of bucket to create object in
- object_name<~String> - Name of object to create
- data<~File> - File or String to create object from
- options<~Hash>:
  - ‘Cache-Control’<~String> - Caching behaviour
  - ‘Content-Disposition’<~String> - Presentational information for the object
  - ‘Content-Encoding’<~String> - Encoding of object data
  - ‘Content-Length’<~String> - Size of object in bytes (defaults to object.read.length)
  - ‘Content-MD5’<~String> - Base64 encoded 128-bit MD5 digest of message (defaults to Base64 encoded MD5 of object.read)
  - ‘Content-Type’<~String> - Standard MIME type describing contents (defaults to MIME::Types.of.first)
  - ‘x-goog-acl’<~String> - Permissions, must be in [‘private’, ‘public-read’, ‘public-read-write’, ‘authenticated-read’]
  - "x-goog-meta-#{name}" - Headers to be returned with object, note total size of request without body must be less than 8 KB.

#### Returns

- response<~Excon::Response>:
  - headers<~Hash>:
    - ‘ETag’<~String> - etag of new object

put_object_url(bucket_name, object_name, expires, headers = {})

Get an expiring object url from Google Storage for putting an object

#### Parameters

- bucket_name<~String> - Name of bucket containing object
- object_name<~String> - Name of object to get expiring url for
- expires<~Time> - An expiry time for this url

#### Returns

- response<~Excon::Response>:
  - body<~String> - url for object

reload()
signature(params)

[Validate]