mirror of
https://github.com/fog/fog-aws.git
synced 2022-11-09 13:50:52 -05:00
copy db snapshot api implementation
This commit is contained in:
parent
fd48293a43
commit
a3f7b74181
2 changed files with 54 additions and 0 deletions
|
@ -30,6 +30,7 @@ module Fog
|
|||
request :create_db_snapshot
|
||||
request :delete_db_snapshot
|
||||
request :modify_db_snapshot_attribute
|
||||
request :copy_db_snapshot
|
||||
|
||||
request :create_db_parameter_group
|
||||
request :delete_db_parameter_group
|
||||
|
|
53
lib/fog/aws/requests/rds/copy_db_snapshot.rb
Normal file
53
lib/fog/aws/requests/rds/copy_db_snapshot.rb
Normal file
|
@ -0,0 +1,53 @@
|
|||
module Fog
|
||||
module AWS
|
||||
class RDS
|
||||
class Real
|
||||
require 'fog/aws/parsers/rds/create_db_snapshot'
|
||||
|
||||
# Copy a db snapshot
|
||||
#
|
||||
# ==== Parameters
|
||||
# * source_db_snapshot_identifier<~String> - Id of db snapshot
|
||||
# * target_db_snapshot_identifier<~String> - Desired Id of the db snapshot copy
|
||||
# * 'copy_tags'<~Boolean> - true to copy all tags from the source DB snapshot to the target DB snapshot; otherwise false.
|
||||
#
|
||||
# ==== Returns
|
||||
# * response<~Excon::Response>:
|
||||
# * body<~Hash>:
|
||||
#
|
||||
# {Amazon API Reference}[http://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBSnapshot.html]
|
||||
def copy_db_snapshot(source_db_snapshot_identifier, target_db_snapshot_identifier, copy_tags = false)
|
||||
request(
|
||||
'Action' => 'CopyDBSnapshot',
|
||||
'SourceDBSnapshotIdentifier' => source_db_snapshot_identifier,
|
||||
'TargetDBSnapshotIdentifier' => target_db_snapshot_identifier,
|
||||
'CopyTags' => copy_tags,
|
||||
:parser => Fog::Parsers::AWS::RDS::CreateDBSnapshot.new
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
class Mock
|
||||
#
|
||||
# Usage
|
||||
#
|
||||
# Fog::AWS[:rds].copy_db_snapshot("snap-original-id", "snap-backup-id", true)
|
||||
#
|
||||
|
||||
def copy_db_snapshot(source_db_snapshot_identifier, target_db_snapshot_identifier, copy_tags = false)
|
||||
response = Excon::Response.new
|
||||
response.status = 200
|
||||
snapshot_id = Fog::AWS::Mock.snapshot_id
|
||||
data = {
|
||||
'snapshotId' => snapshot_id,
|
||||
}
|
||||
self.data[:snapshots][snapshot_id] = data
|
||||
response.body = {
|
||||
'requestId' => Fog::AWS::Mock.request_id
|
||||
}.merge!(data)
|
||||
response
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue