1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/aws/requests/redshift/copy_cluster_snapshot.rb
2014-02-19 12:30:59 +00:00

48 lines
2.1 KiB
Ruby

module Fog
module AWS
class Redshift
class Real
require 'fog/aws/parsers/redshift/cluster_snapshot'
# ==== Parameters
#
# @param [Hash] options
# * :source_snapshot_identifier - required - (String)
# The identifier for the source snapshot. Constraints: Must be the identifier for
# a valid automated snapshot whose state is "available".
# * :source_snapshot_cluster_identifier - (String)
# * :target_snapshot_identifier - required - (String)
# The identifier given to the new manual snapshot. Constraints: Cannot be null,
# empty, or blank. Must contain from 1 to 255 alphanumeric characters or hyphens.
# First character must be a letter. Cannot end with a hyphen or contain two
# consecutive hyphens. Must be unique for the AWS account that is making the request.
#
# ==== See Also
# http://docs.aws.amazon.com/redshift/latest/APIReference/API_CopyClusterSnapshot.html
def copy_cluster_snapshot(options = {})
source_snapshot_identifier = options[:source_snapshot_identifier]
source_snapshot_cluster_identifier = options[:source_snapshot_cluster_identifier]
target_snapshot_identifier = options[:target_snapshot_identifier]
path = "/"
params = {
:headers => {},
:path => path,
:method => :put,
:query => {},
:parser => Fog::Parsers::Redshift::AWS::ClusterSnapshot.new
}
params[:query]['Action'] = 'CopyClusterSnapshot'
params[:query]['SourceSnapshotIdentifier'] = source_snapshot_identifier if source_snapshot_identifier
params[:query]['SourceSnapshotClusterIdentifier'] = source_snapshot_cluster_identifier if source_snapshot_cluster_identifier
params[:query]['TargetSnapshotIdentifier'] = target_snapshot_identifier if target_snapshot_identifier
request(params)
end
end
end
end
end