mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
48 lines
2.1 KiB
Ruby
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
|
|
|