File: describe_orderable_db_instance_options.rb

package info (click to toggle)
ruby-fog-aws 3.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 8,092 kB
  • sloc: ruby: 72,795; javascript: 14; makefile: 9; sh: 4
file content (46 lines) | stat: -rw-r--r-- 2,021 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
module Fog
  module Parsers
    module AWS
      module RDS
        class DescribeOrderableDBInstanceOptions < Fog::Parsers::Base
          def reset
            @response = { 'DescribeOrderableDBInstanceOptionsResult' => {'OrderableDBInstanceOptions' => []}, 'ResponseMetadata' => {} }
            @db_instance_option = {}
            @db_instance_options = []
          end

          def start_element(name, attrs = [])
            case name
            when 'AvailabilityZones' then @availability_zones = []
            when 'AvailabilityZone' then @availability_zone = {}
            end
            super
          end

          def end_element(name)
            case name
            when 'MultiAZCapable', 'ReadReplicaCapable', 'Vpc', 'SupportsIops',
                 'SupportsEnhancedMonitoring', 'SupportsIAMDatabaseAuthentication',
                 'SupportsPerformanceInsights', 'SupportsStorageEncryption' then @db_instance_option[name] = to_boolean(value)
            when 'Engine', 'LicenseModel', 'EngineVersion', 'DBInstanceClass', 'StorageType' then @db_instance_option[name] = value
            when 'AvailabilityZones' then @db_instance_option[name] = @availability_zones
            when 'AvailabilityZone' then @availability_zones << @availability_zone unless @availability_zone.empty?
            when 'Name' then @availability_zone[name] = value
            when 'OrderableDBInstanceOption'
              @db_instance_options << @db_instance_option
              @db_instance_option = {}
            when 'OrderableDBInstanceOptions'
              @response['DescribeOrderableDBInstanceOptionsResult']['OrderableDBInstanceOptions'] = @db_instance_options
            when 'Marker' then @response['DescribeOrderableDBInstanceOptionsResult'][name] = value
            when 'RequestId' then @response['ResponseMetadata'][name] = value
            end
          end

          def to_boolean(v)
            (v =~ /\A\s*(true|yes|1|y)\s*$/i) == 0
          end
        end
      end
    end
  end
end