From f8b1e6b9221bf07e9acc88b8c530f330960722f4 Mon Sep 17 00:00:00 2001 From: KevinLoiseau Date: Mon, 25 Mar 2019 17:23:35 +0100 Subject: [PATCH 1/2] Enhance db_instance parser to add DBSubnetGroup attribute --- lib/fog/aws/parsers/rds/db_parser.rb | 40 +++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/lib/fog/aws/parsers/rds/db_parser.rb b/lib/fog/aws/parsers/rds/db_parser.rb index 849e7a4122..156800f438 100644 --- a/lib/fog/aws/parsers/rds/db_parser.rb +++ b/lib/fog/aws/parsers/rds/db_parser.rb @@ -8,7 +8,7 @@ def reset end def fresh_instance - {'PendingModifiedValues' => [], 'DBSecurityGroups' => [], 'ReadReplicaDBInstanceIdentifiers' => [], 'Endpoint' => {}} + {'PendingModifiedValues' => [], 'DBSecurityGroups' => [], 'ReadReplicaDBInstanceIdentifiers' => [], 'Endpoint' => {}, 'DBSubnetGroup' => {}} end def start_element(name, attrs = []) @@ -35,6 +35,17 @@ def start_element(name, attrs = []) when 'VpcSecurityGroups' @in_vpc_security_groups = true @vpc_security_groups = [] + when 'DBSubnetGroup' + @in_db_subnet_group = true + @db_subnet_group = {} + when 'Subnets' + @in_subnets = true + @subnets = [] + when 'Subnet' + @subnet = {} + when 'SubnetAvailabilityZone' + @in_subnet_availability_zone = true + @subnet_availability_zone = {} end end @@ -122,6 +133,33 @@ def end_element(name) @db_instance['ReadReplicaSourceDBInstanceIdentifier'] = value when 'DBInstance' @db_instance = fresh_instance + when 'DBSubnetGroup' + @in_db_subnet_group = false + @db_instance['DBSubnetGroup'] = @db_subnet_group + when 'VpcId' + if @in_db_subnet_group + @db_subnet_group[name] = value + end + when 'Subnets' + @in_subnets = false + if @in_db_subnet_group + @db_subnet_group['Subnets'] = @subnets + end + when 'Subnet' + if @in_subnets + @subnets << @subnet + end + when 'SubnetIdentifier', 'SubnetStatus' + if @in_subnets + @subnet[name] = value + end + when 'SubnetAvailabilityZone' + @in_subnet_availability_zone = false + @subnet['SubnetAvailabilityZone'] = @subnet_availability_zone + when 'Name' + if @in_subnet_availability_zone + @subnet_availability_zone[name] = value + end end end end From c2942b4a3635ca0983757a2d7c7466885b4c77da Mon Sep 17 00:00:00 2001 From: KevinLoiseau Date: Mon, 25 Mar 2019 17:27:42 +0100 Subject: [PATCH 2/2] Enhance rds server model to add db_subnet_group attribute --- lib/fog/aws/models/rds/server.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/fog/aws/models/rds/server.rb b/lib/fog/aws/models/rds/server.rb index 47629e4b54..0237312898 100644 --- a/lib/fog/aws/models/rds/server.rb +++ b/lib/fog/aws/models/rds/server.rb @@ -39,6 +39,7 @@ class Server < Fog::Model attribute :storage_type, :aliases => 'StorageType' attribute :tde_credential_arn, :aliases => 'TdeCredentialArn' attribute :vpc_security_groups, :aliases => 'VpcSecurityGroups', :type => :array + attribute :db_subnet_group, :aliases => 'DBSubnetGroup' attr_accessor :password, :parameter_group_name, :security_group_names, :port, :source_snapshot_id