class Fog::Parsers::Redshift::AWS::ClusterParser

Public Instance Methods

end_element(name) click to toggle source
# File lib/fog/aws/parsers/redshift/cluster_parser.rb, line 75
def end_element(name)
  case name
  when 'AvailabilityZone', 'ClusterIdentifier', 'ClusterStatus', 'ClusterSubnetGroupName', 'DBName',
    'MasterUsername', 'ModifyStatus', 'PreferredMaintenanceWindow', 'VpcId'
    @cluster[name] = value
  when 'ClusterCreateTime'
    @cluster[name] = Time.parse(value)
  when 'AllowVersionUpgrade', 'Encrypted', 'PubliclyAccessible'
    @cluster[name] = (value == "true")
  when 'Address'
    @cluster['EndPoint'][name] = value
  when 'Port'
    @cluster['EndPoint'][name] = value.to_i
  when 'NodeType', 'ClusterVersion'
    if @in_pending_modified_values
      @cluster['PendingModifiedValues'][name] = value
    else
      @cluster[name] = value
    end
  when 'NumberOfNodes', 'AutomatedSnapshotRetentionPeriod'
    if @in_pending_modified_values
      @cluster['PendingModifiedValues'][name] = value.to_i
    else
      @cluster[name] = value.to_i
    end
  when 'MasterUserPassword', 'ClusterType'
    @cluster['PendingModifiedValues'][name] = value
  when 'Status'
    if @in_vpc_security_groups
      @vpc_security_group[name] = value
    elsif @in_cluster_security_groups
      @cluster_security_group[name] = value
    else
      @cluster['RestoreStatus'][name] = value
    end
  when 'ParameterGroupName', 'ParameterApplyStatus'
    @cluster_parameter_group[name] = value
  when 'ClusterSecurityGroupName'
    @cluster_security_group[name] = value
  when 'VpcSecurityGroupId'
    @vpc_security_group[name] = value
  when 'SnapshotSizeInMegaBytes', 'ProgressInMegaBytes', 'ElapsedTimeInSeconds', 'EstimatedTimeToCompletionInSeconds'
    @cluster['RestoreStatus'][name] = value.to_i
  when 'CurrentRestoreRateInMegaBytesPerSecond'
    @cluster['RestoreStatus'][name] = value.to_f

  when 'ClusterSecurityGroups'
    @in_cluster_security_groups = false
  when 'VpcSecurityGroups'
    @in_vpc_security_groups = false
  when 'PendingModifiedValues'
    @in_pending_modified_values = false

  when 'ClusterParameterGroup'
    @cluster['ClusterParameterGroups'] << {name => @cluster_parameter_group}
    @cluster_parameter_group = {}
  when 'ClusterSecurityGroup'
    @cluster['ClusterSecurityGroups'] << {name => @cluster_security_group}
    @cluster_security_group = {}
  when 'VpcSecurityGroup'
    @cluster['VpcSecurityGroups'] << {name => @vpc_security_group}
    @vpc_security_group = {}
  end
end
fresh_cluster() click to toggle source
# File lib/fog/aws/parsers/redshift/cluster_parser.rb, line 54
def fresh_cluster
  { 'ClusterParameterGroups' => [], 'ClusterSecurityGroups' => [], 'VpcSecurityGroups' => [],
    'EndPoint' => {}, 'PendingModifiedValues'=> {}, 'RestoreStatus' => {}}
end
reset() click to toggle source

:cluster_identifier - (String) :node_type - (String) :cluster_status - (String) :modify_status - (String) :master_username - (String) :db_name - (String) :endpoint - (Hash)

:address - (String)
:port - (Integer)

:cluster_create_time - (Time) :automated_snapshot_retention_period - (Integer) :cluster_security_groups - (Array)

:cluster_security_group_name - (String)
:status - (String)

:vpc_security_groups - (Array)

:vpc_security_group_id - (String)
:status - (String)

:cluster_parameter_groups - (Array)

:parameter_group_name - (String)
:parameter_apply_status - (String)

:cluster_subnet_group_name - (String) :vpc_id - (String) :availability_zone - (String) :preferred_maintenance_window - (String) :pending_modified_values - (Hash)

:master_user_password - (String)
:node_type - (String)
:number_of_nodes - (Integer)
:cluster_type - (String)
:cluster_version - (String)
:automated_snapshot_retention_period - (Integer)

:cluster_version - (String) :allow_version_upgrade - (Boolean) :number_of_nodes - (Integer) :publicly_accessible - (Boolean) :encrypted - (Boolean) :restore_status - (Hash)

:status - (String)
:current_restore_rate_in_mega_bytes_per_second - (Numeric)
:snapshot_size_in_mega_bytes - (Integer)
:progress_in_mega_bytes - (Integer)
:elapsed_time_in_seconds - (Integer)
:estimated_time_to_completion_in_seconds - (Integer)
# File lib/fog/aws/parsers/redshift/cluster_parser.rb, line 50
def reset
  @cluster = fresh_cluster
end
start_element(name, attrs = []) click to toggle source
Calls superclass method
# File lib/fog/aws/parsers/redshift/cluster_parser.rb, line 59
def start_element(name, attrs = [])
  super
  case name
  when 'ClusterSecurityGroups'
    @in_cluster_security_groups = true
    @cluster_security_group = {}
  when 'ClusterParameterGroups'
    @cluster_parameter_group = {}
  when 'VpcSecurityGroups'
    @in_vpc_security_groups = true
    @vpc_security_group = {}
  when 'PendingModifiedValues'
    @in_pending_modified_values = true
  end
end