Class: AWS::EC2::SnapshotCollection
- Inherits:
-
Collection
- Object
- Collection
- AWS::EC2::SnapshotCollection
- Includes:
- TaggedCollection
- Defined in:
- lib/aws/ec2/snapshot_collection.rb
Overview
Represents a collection of Amazon EBS snapshots. Typically you should get an instance of this class by calling #snapshots.
Instance Method Summary collapse
-
#create(opts = {}) ⇒ Snapshot
Creates a snapshot of an Amazon EBS volume and stores it in Amazon S3.
- #each {|Snapshot| ... } ⇒ nil
-
#restorable_by(*users) ⇒ ImageCollection
A new collection that only includes images for which the specified user ID has explicit launch permissions.
-
#with_owner(*owners) ⇒ SnapshotCollection
A new collection that only includes snapshots owned by one or more of the specified AWS accounts.
Methods included from TaggedCollection
Methods inherited from Collection
Methods included from FilteredCollection
Instance Method Details
#create(opts = {}) ⇒ Snapshot
Creates a snapshot of an Amazon EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make identical copies of instance devices, and to save data before shutting down an instance. For more information about Amazon EBS, go to the Amazon Elastic Compute Cloud User Guide.
108 109 110 111 112 113 114 |
# File 'lib/aws/ec2/snapshot_collection.rb', line 108 def create opts = {} if volume = opts.delete(:volume) opts[:volume_id] = volume.id end resp = client.create_snapshot(opts) Snapshot.new(resp.snapshot_id, :config => config) end |
#each {|Snapshot| ... } ⇒ nil
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/aws/ec2/snapshot_collection.rb', line 47 def each(&block) opts = {} opts[:owner_ids] = @owners.map { |id| id.to_s } unless @owners.empty? opts[:restorable_by_user_ids] = @restorable_by.map { |id| id.to_s } unless @restorable_by.empty? resp = filtered_request(:describe_snapshots, opts) resp.snapshot_set.each do |v| snapshot = Snapshot.new(v.snapshot_id, :config => config) yield(snapshot) end nil end |
#restorable_by(*users) ⇒ ImageCollection
Returns A new collection that only includes images for which the specified user ID has explicit launch permissions. The user ID can be an AWS account ID, :self
to return AMIs for which the sender of the request has explicit launch permissions, or :all
to return AMIs with public launch permissions.
81 82 83 |
# File 'lib/aws/ec2/snapshot_collection.rb', line 81 def restorable_by(*users) collection_with(:restorable_by => @restorable_by + users) end |
#with_owner(*owners) ⇒ SnapshotCollection
Returns A new collection that only includes snapshots owned by one or more of the specified AWS accounts. The IDs :amazon
and :self
can be used to include snapshots owned by Amazon or AMIs owned by you, respectively.
68 69 70 |
# File 'lib/aws/ec2/snapshot_collection.rb', line 68 def with_owner(*owners) collection_with(:owners => @owners + owners) end |