Initialize connection to Glacier
options parameter must include values for :aws_access_key_id and :aws_secret_access_key in order to create a connection
ses = SES.new( :aws_access_key_id => your_aws_access_key_id, :aws_secret_access_key => your_aws_secret_access_key )
options<~Hash> - config arguments for connection. Defaults to {}.
region<~String> - optional region to use. For instance, 'us-east-1' and etc.
# 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
Abort an upload
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
response<~Excon::Response>:
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 an upload
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
response<~Excon::Response>:
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
Upload an archive
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
response<~Excon::Response>:
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
This operation creates a new vault with the specified name. .
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
response<~Excon::Response>:
body<~Hash>:
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 an archive
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
response<~Excon::Response>:
body<~Hash>:
'RequestId'<~String> - Id of the request
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 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
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
response<~Excon::Response>:
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's notification configuration
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
response<~Excon::Response>:
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
Complete an upload
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
response<~Excon::Response>:
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
This operation returns information about a vault
name<~String> Vault name
options<~Hash>
account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
response<~Excon::Response>:
body<~Hash>:
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 the output from a job
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
response<~Excon::Response>:
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 a vault's notification configuration
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
response<~Excon::Response>:
body<~Hash>:
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
This operation initates a multipart upload of an archive to a vault
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
response<~Excon::Response>:
body<~Hash>:
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
This operation initates a multipart upload of an archive to a vault
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
response<~Excon::Response>:
body<~Hash>:
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
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
lists in-progress multipart uploads for the specified vault
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
response<~Excon::Response>:
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
lists the parts of an archive that have been uploaded in a specific multipart upload
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
response<~Excon::Response>:
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
This operation lists all vaults owned by the calling user’s account.
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
response<~Excon::Response>:
body<~Hash>:
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 a vault's notification configuration
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
response<~Excon::Response>:
body<~Hash>:
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 an archive
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
response<~Excon::Response>:
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
Generated with the Darkfish Rdoc Generator 2.