I have delete options for the modify_option_group method but for the life of me. I cannot work out how to use this function to add options to an option_group.

This commit is contained in:
Mike Fuller 2015-01-21 07:15:47 +11:00
parent dfb33aaad3
commit 6fad81aabf
3 changed files with 28 additions and 8 deletions

View File

@ -548,7 +548,7 @@ class RDS2Backend(BaseBackend):
self.option_groups[option_group_name].remove_options(options_to_remove)
if options_to_include:
self.option_groups[option_group_name].add_options(options_to_include)
return ['a']
return self.option_groups[option_group_name]
class OptionGroup(object):

View File

@ -198,17 +198,19 @@ class RDS2Response(BaseResponse):
'VpcSecurityGroupMemberships': self._get_param('OptionsToInclude.member.{}.VpcSecurityGroupMemberships'.format(count))
})
count += 1
count = 1
options_to_remove = []
while self._get_param('OptionsToRemove.member.{}'.format(count)):
options_to_remove.append(self._get_param('OptionsToRemove.member.{}'.format(count)))
count += 1
apply_immediately = self._get_param('ApplyImmediately')
result = self.backend.modify_option_group(option_group_name,
options_to_include,
options_to_remove,
apply_immediately)
return json.dumps('{"DescribeOptionGroupOptionsResponse": {"DescribeOptionGroupOptionsResult": {"Marker": null, "OptionGroupOptions": [{"MinimumRequiredMinorEngineVersion": "2789.0.v1", "OptionsDependedOn": [], "MajorEngineVersion": "10.50", "Persistent": false, "DefaultPort": null, "Permanent": false, "OptionGroupOptionSettings": [], "EngineName": "sqlserver-ee", "Name": "Mirroring", "PortRequired": false, "Description": "SQLServer Database Mirroring"}, {"MinimumRequiredMinorEngineVersion": "2789.0.v1", "OptionsDependedOn": [], "MajorEngineVersion": "10.50", "Persistent": true, "DefaultPort": null, "Permanent": false, "OptionGroupOptionSettings": [], "EngineName": "sqlserver-ee", "Name": "TDE", "PortRequired": false, "Description": "SQL Server - Transparent Data Encryption"}, {"MinimumRequiredMinorEngineVersion": "2100.60.v1", "OptionsDependedOn": [], "MajorEngineVersion": "11.00", "Persistent": false, "DefaultPort": null, "Permanent": false, "OptionGroupOptionSettings": [], "EngineName": "sqlserver-ee", "Name": "Mirroring", "PortRequired": false, "Description": "SQLServer Database Mirroring"}, {"MinimumRequiredMinorEngineVersion": "2100.60.v1", "OptionsDependedOn": [], "MajorEngineVersion": "11.00", "Persistent": true, "DefaultPort": null, "Permanent": false, "OptionGroupOptionSettings": [], "EngineName": "sqlserver-ee", "Name": "TDE", "PortRequired": false, "Description": "SQL Server - Transparent Data Encryption"}]}, "ResponseMetadata": {"RequestId": "c9f2fd9b-9fcb-11e4-8add-31b6fe33145f"}}}')
option_group = self.backend.modify_option_group(option_group_name,
options_to_include,
options_to_remove,
apply_immediately)
template = self.response_template(MODIFY_OPTION_GROUP_TEMPLATE)
return template.render(option_group=option_group)
CREATE_DATABASE_TEMPLATE = """{
@ -363,3 +365,13 @@ DESCRIBE_OPTION_GROUP_OPTIONS_TEMPLATE = \
]},
"ResponseMetadata": {"RequestId": "457f7bb8-9fbf-11e4-9084-5754f80d5144"}
}}"""
MODIFY_OPTION_GROUP_TEMPLATE = \
"""{"ModifyOptionGroupResponse": {
"ResponseMetadata": {
"RequestId": "ce9284a5-a0de-11e4-b984-a11a53e1f328"
},
"ModifyOptionGroupResult":
{{ option_group.to_json() }}
}
}"""

View File

@ -73,6 +73,7 @@ def test_create_option_group():
option_group['CreateOptionGroupResponse']['CreateOptionGroupResult']['OptionGroup']['OptionGroupDescription'].should.equal('test option group')
option_group['CreateOptionGroupResponse']['CreateOptionGroupResult']['OptionGroup']['MajorEngineVersion'].should.equal('5.6')
@mock_rds2
def test_create_option_group_bad_engine_name():
conn = boto.rds2.connect_to_region("us-west-2")
@ -144,7 +145,14 @@ def test_describe_option_group_options():
@mock_rds2
def test_modify_option_group():
conn = boto.rds2.connect_to_region("us-west-2")
# if Someone can tell me how the hell to use this function I can finish coding this.
conn.create_option_group('test', 'mysql', '5.6', 'test option group')
# if Someone can tell me how the hell to use this function
# to add options to an option_group, I can finish coding this.
result = conn.modify_option_group('test', [], ['MEMCACHED'], True)
result['ModifyOptionGroupResponse']['ModifyOptionGroupResult']['EngineName'].should.equal('mysql')
result['ModifyOptionGroupResponse']['ModifyOptionGroupResult']['Options'].should.equal([])
result['ModifyOptionGroupResponse']['ModifyOptionGroupResult']['OptionGroupName'].should.equal('test')
@mock_rds2