Parent

Class/Module Index [+]

Quicksearch

Fog::AWS::Glacier::Real

Public Class Methods

new(options={}) click to toggle source

Initialize connection to Glacier

Notes

options parameter must include values for :aws_access_key_id and :aws_secret_access_key in order to create a connection

Examples

ses = SES.new(
 :aws_access_key_id => your_aws_access_key_id,
 :aws_secret_access_key => your_aws_secret_access_key
)

Parameters

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

    • region<~String> - optional region to use. For instance, 'us-east-1' and etc.

Returns

# File lib/fog/aws/glacier.rb, line 122
def initialize(options={})

  @use_iam_profile = options[:use_iam_profile]
  @region = options[:region] || 'us-east-1'

  setup_credentials(options)

  @connection_options     = options[:connection_options] || {}
  @host = options[:host] || "glacier.#{@region}.amazonaws.com"
  @version = '2012-06-01'
  @path       = options[:path]        || '/'
  @persistent = options[:persistent]  || false
  @port       = options[:port]        || 443
  @scheme     = options[:scheme]      || 'https'

  @connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}#{@path}", @persistent, @connection_options)
end

Public Instance Methods

abort_multipart_upload(vault_name, upload_id, options={}) click to toggle source

Abort an upload

Parameters

  • name<~String> Name of the vault to upload to

  • upload_id<~String> The id of the upload to complete

  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-multipart-abort-upload.html

# File lib/fog/aws/requests/glacier/abort_multipart_upload.rb, line 19
def abort_multipart_upload(vault_name, upload_id, options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/multipart-uploads/#{upload_id}"

  request(
    :expects  => 204,
    :idempotent => true,
    :headers => {},
    :method   => :delete,
    :path     => path
  )
end
complete_multipart_upload(vault_name, upload_id, total_size, tree_hash, options={}) click to toggle source

Complete an upload

Parameters

  • name<~String> Name of the vault to upload to

  • upload_id<~String> The id of the upload to complete

  • total_size<~Integer> The total archive size

  • tree_hash<~String> the treehash for the archive

  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-multipart-complete-upload.html

# File lib/fog/aws/requests/glacier/complete_multipart_upload.rb, line 21
def complete_multipart_upload(vault_name, upload_id, total_size, tree_hash, options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/multipart-uploads/#{upload_id}"

  headers = {
    'x-amz-archive-size' => total_size.to_s,
    'x-amz-sha256-tree-hash' => tree_hash
  }

  request(
    :expects  => 201,
    :idempotent => true,
    :headers => headers,
    :method   => :post,
    :path     => path
  )
end
create_archive(vault_name, body, options={}) click to toggle source

Upload an archive

Parameters

  • name<~String> Name of the vault to upload to

  • body<~String> The data to upload

  • options<~Hash>

    • description<~String> - The archive description

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-archive-post.html

# File lib/fog/aws/requests/glacier/create_archive.rb, line 20
def create_archive(vault_name, body, options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/archives"

  headers = {
    'Content-Length' => body.bytesize.to_s,
    'x-amz-content-sha256' => Digest::SHA256.hexdigest(body),
    'x-amz-sha256-tree-hash' => Fog::AWS::Glacier::TreeHash.digest(body)
  }
  headers['x-amz-archive-description'] = Fog::AWS.escape(options['description']) if options['description']

  request(
    :expects  => 201,
    :headers => headers,
    :method   => :post,
    :path     => path,
    :body     => body
  )
end
create_vault(name,options={}) click to toggle source

This operation creates a new vault with the specified name. .

Parameters

  • name<~String> 1-255 characters. must be unique within a region for an AWS account

  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-vault-put.html

# File lib/fog/aws/requests/glacier/create_vault.rb, line 19
def create_vault(name,options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}"
  request(options.merge({
    :expects  => 201,
    :idempotent => true,
    :headers => {},
    :method   => :put,
    :path     => path,
  }))
end
delete_archive(name,archive_id,options={}) click to toggle source

Delete an archive

Parameters

  • name<~String> Name of the vault to delete

  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

      • 'RequestId'<~String> - Id of the request

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-vault-delete.html

# File lib/fog/aws/requests/glacier/delete_archive.rb, line 20
def delete_archive(name,archive_id,options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}/archives/#{archive_id}"
  request(
    :expects  => 204,
    :idempotent => true,
    :headers => {},
    :method   => :delete,
    :path     => path
  )
end
delete_vault(name,options={}) click to toggle source

Delete a vault. Amazon Glacier will delete a vault only if there are no archives in the vault as per the last inventory and there have been no writes to the vault since the last inventory

Parameters

  • name<~String> Name of the vault to delete

  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-vault-delete.html

# File lib/fog/aws/requests/glacier/delete_vault.rb, line 19
def delete_vault(name,options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}"
  request(
    :expects  => 204,
    :idempotent => true,
    :headers => {},
    :method   => :delete,
    :path     => path
  )
end
delete_vault_notification_configuration(name,options={}) click to toggle source

Delete vault's notification configuration

Parameters

  • name<~String> Name of the vault

  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-vault-notifications-delete.html

# File lib/fog/aws/requests/glacier/delete_vault_notification_configuration.rb, line 18
def delete_vault_notification_configuration(name,options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}/notification-configuration"
  request(
    :expects  => 204,
    :idempotent => true,
    :headers => {},
    :method   => :delete,
    :path     => path
  )
end
describe_job(vault_name, job_id, options={}) click to toggle source

Complete an upload

Parameters

  • name<~String> Name of the vault

  • job_id<~String> The id of the job

  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-describe-job-get.html

# File lib/fog/aws/requests/glacier/describe_job.rb, line 19
def describe_job(vault_name, job_id, options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/jobs/#{job_id}"

  request(
    :expects  => 200,
    :idempotent => true,
    :headers => {},
    :method   => :get,
    :path     => path
  )
end
describe_vault(name,options={}) click to toggle source

This operation returns information about a vault

Parameters

  • name<~String> Vault name

  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-vault-get.html

# File lib/fog/aws/requests/glacier/describe_vault.rb, line 19
def describe_vault(name,options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}"
  request(
    :expects  => 200,
    :idempotent => true,
    :headers => {},
    :method   => :get,
    :path     => path
  )
end
get_job_output(vault_name, job_id, options={}) click to toggle source

Get the output from a job

Parameters

  • name<~String> Name of the vault

  • job_id<~String> The id of the job

  • options<~Hash>

    • Range<~Range> The range to retrieve

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

    • response_block<~Proc> Proc to use for streaming the response

Returns

  • response<~Excon::Response>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-job-output-get.html

# File lib/fog/aws/requests/glacier/get_job_output.rb, line 21
def get_job_output(vault_name, job_id, options={})
  account_id = options.delete('account_id') || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/jobs/#{job_id}/output"
  headers = {}
  if range = options.delete('Range')
    headers['Range'] = "bytes=#{range.begin}-#{range.end}"
  end
  request(
    options.merge(
    :expects  => [200,206],
    :idempotent => true,
    :headers => headers,
    :method   => :get,
    :path     => path
  ))
end
get_vault_notification_configuration(name,options={}) click to toggle source

Get a vault's notification configuration

Parameters

  • name<~String> Name of the vault

  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-vault-notifications-get.html

# File lib/fog/aws/requests/glacier/get_vault_notification_configuration.rb, line 19
def get_vault_notification_configuration(name,options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}/notification-configuration"
  request(
    :expects  => 200,
    :idempotent => true,
    :headers => {},
    :method   => :get,
    :path     => path
  )
end
initiate_job(name, job_specification, options={}) click to toggle source

This operation initates a multipart upload of an archive to a vault

Parameters

  • name<~String> The vault name

  • job_specification<~Hash> A specification of the job

    * Type<~String> The job type. Mandatory. Values: archive-retrieval, inventory-retrieval
    * Description<~String> The job description
    * ArchiveId<~String> The id of the archive to retrieve (only for Type==archive-retrieval)
    * Format<~String> The format to return (only for inventory retrieval). Values: CSV, JSON
    * SNSTopic<String> ARN of a topic to publish to when the job is complete
  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-initiate-job-post.html

# File lib/fog/aws/requests/glacier/initiate_job.rb, line 25
def initiate_job(name, job_specification, options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}/jobs"

  request({
    :expects  => 202,
    :headers => {},
    :method   => 'POST',
    :path     => path,
    :body     => Fog::JSON.encode(job_specification)
  })
end
initiate_multipart_upload(name, part_size, options={}) click to toggle source

This operation initates a multipart upload of an archive to a vault

Parameters

  • name<~String> The vault name

  • part_size<~Integer> The part size to use. Must be a power of 2 multiple of 1MB (1,2,4,8,16,...)

  • options<~Hash>

    • description<~String> - The archive description

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-multipart-initiate-upload.html

# File lib/fog/aws/requests/glacier/initiate_multipart_upload.rb, line 21
def initiate_multipart_upload(name, part_size, options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}/multipart-uploads"

  headers = {'x-amz-part-size' => part_size.to_s}
  headers['x-amz-archive-description'] = Fog::AWS.escape(options['description']) if options['description']
  request(
    :expects  => 201,
    :headers => headers,
    :method   => 'POST',
    :path     => path
  )
end
list_jobs(vault_name, options={}) click to toggle source
 lists in-progress and recently jobs for the specified vault

==== Parameters
* name<~String> Name of the vault
* options<~Hash>
  * completed<~Boolean>Specifies the state of the jobs to return. You can specify true or false
  * statuscode<~String> Filter returned jobs by status (InProgress, Succeeded, or Failed)
  * limit<~Integer> - The maximum number of items returned in the response. (default 1000)
  * marker<~String> - marker used for pagination
  * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
==== Returns
* response<~Excon::Response>:
==== See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-jobs-get.html

# File lib/fog/aws/requests/glacier/list_jobs.rb, line 21
def list_jobs(vault_name, options={})
  account_id = options.delete('account_id') || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/jobs"


  request(
    :expects  => 200,
    :idempotent => true,
    :headers => {},
    :method   => :get,
    :path     => path,
    :query => options
  )
end
list_multipart_uploads(vault_name, options={}) click to toggle source
lists in-progress multipart uploads for the specified vault

Parameters

  • name<~String> Name of the vault

  • options<~Hash>

    • limit<~Integer> - The maximum number of items returned in the response. (default 1000)

    • marker<~String> - marker used for pagination

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-multipart-list-uploads.html

# File lib/fog/aws/requests/glacier/list_multipart_uploads.rb, line 19
def list_multipart_uploads(vault_name, options={})
  account_id = options.delete('account_id') || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/multipart-uploads"


  request(
    :expects  => 200,
    :idempotent => true,
    :headers => {},
    :method   => :get,
    :path     => path,
    :query => options
  )
end
list_parts(vault_name, upload_id, options={}) click to toggle source
lists the parts of an archive that have been uploaded in a specific multipart upload

Parameters

  • name<~String> Name of the vault

  • upload_id<~String> The id of the upload

  • options<~Hash>

    • limit<~Integer> - The maximum number of items returned in the response. (default 1000)

    • marker<~String> - marker used for pagination

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-multipart-list-parts.html

# File lib/fog/aws/requests/glacier/list_parts.rb, line 20
def list_parts(vault_name, upload_id, options={})
  account_id = options.delete('account_id') || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/multipart-uploads/#{Fog::AWS.escape(upload_id)}"

  request(
    :expects  => 200,
    :idempotent => true,
    :headers => {},
    :method   => :get,
    :path     => path,
    :query    => options
  )
end
list_vaults(options={}) click to toggle source

This operation lists all vaults owned by the calling user’s account.

Parameters

  • options<~Hash>

    • limit<~Integer> - The maximum number of items returned in the response. (default 1000)

    • marker<~String> - marker used for pagination

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-vaults-get.html

# File lib/fog/aws/requests/glacier/list_vaults.rb, line 20
def list_vaults(options={})
  account_id = options.delete('account_id') || '-'
  path = "/#{account_id}/vaults"
  request(
    :expects  => 200,
    :idempotent => true,
    :headers => {},
    :method   => 'GET',
    :path     => path,
    :query => options
  )
end
set_vault_notification_configuration(name,sns_topic, events, options={}) click to toggle source

Set a vault's notification configuration

Parameters

  • name<~String> Name of the vault

  • SnsTopic<~String> ARN of the topic to notify

  • events<~Array> Events you wish to receive. Valid events are ArchiveRetrievalCompleted, InventoryRetrievalCompleted

  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

    • body<~Hash>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-vault-notifications-put.html

# File lib/fog/aws/requests/glacier/set_vault_notification_configuration.rb, line 21
def set_vault_notification_configuration(name,sns_topic, events, options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}/notification-configuration"
  request(
    :expects  => 204,
    :idempotent => true,
    :headers => {},
    :method   => :put,
    :path     => path,
    :body     => Fog::JSON.encode('SNSTopic' => sns_topic, 'Events' => events)
  )
end
upload_part(vault_name, upload_id, body, offset, hash, options={}) click to toggle source

Upload an archive

Parameters

  • name<~String> Name of the vault to upload to

  • uploadId<~String> Id of the upload

  • body<~String> The data to upload

  • offset<~Integer> The offset of the data within the archive

  • hash<~String> The tree hash for this part

  • options<~Hash>

    • account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request

Returns

  • response<~Excon::Response>:

See Also

docs.amazonwebservices.com/amazonglacier/latest/dev/api-upload-part.html

# File lib/fog/aws/requests/glacier/upload_part.rb, line 22
def upload_part(vault_name, upload_id, body, offset, hash, options={})
  account_id = options['account_id'] || '-'
  path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/multipart-uploads/#{Fog::AWS.escape(upload_id)}"

  headers = {
    'Content-Length' => body.bytesize.to_s,
    'Content-Range' => "bytes #{offset}-#{offset+body.bytesize-1}/*",
    'x-amz-content-sha256' => Digest::SHA256.hexdigest(body),
    'x-amz-sha256-tree-hash' => hash
  }

  request(
    :expects  => 204,
    :idempotent => true,
    :headers => headers,
    :method   => :put,
    :path     => path,
    :body     => body
  )
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.