Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/boto/rds/parametergroup.py @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author | shellac |
---|---|
date | Mon, 01 Jun 2020 08:59:25 -0400 |
parents | 79f47841a781 |
children |
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/boto/rds/parametergroup.py Thu May 14 16:47:39 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,201 +0,0 @@ -# Copyright (c) 2006-2009 Mitch Garnaat http://garnaat.org/ -# -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, dis- -# tribute, sublicense, and/or sell copies of the Software, and to permit -# persons to whom the Software is furnished to do so, subject to the fol- -# lowing conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- -# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -# IN THE SOFTWARE. - -class ParameterGroup(dict): - - def __init__(self, connection=None): - dict.__init__(self) - self.connection = connection - self.name = None - self.description = None - self.engine = None - self._current_param = None - - def __repr__(self): - return 'ParameterGroup:%s' % self.name - - def startElement(self, name, attrs, connection): - if name == 'Parameter': - if self._current_param: - self[self._current_param.name] = self._current_param - self._current_param = Parameter(self) - return self._current_param - - def endElement(self, name, value, connection): - if name == 'DBParameterGroupName': - self.name = value - elif name == 'Description': - self.description = value - elif name == 'Engine': - self.engine = value - else: - setattr(self, name, value) - - def modifiable(self): - mod = [] - for key in self: - p = self[key] - if p.is_modifiable: - mod.append(p) - return mod - - def get_params(self): - pg = self.connection.get_all_dbparameters(self.name) - self.update(pg) - - def add_param(self, name, value, apply_method): - param = Parameter() - param.name = name - param.value = value - param.apply_method = apply_method - self.params.append(param) - -class Parameter(object): - """ - Represents a RDS Parameter - """ - - ValidTypes = {'integer' : int, - 'string' : str, - 'boolean' : bool} - ValidSources = ['user', 'system', 'engine-default'] - ValidApplyTypes = ['static', 'dynamic'] - ValidApplyMethods = ['immediate', 'pending-reboot'] - - def __init__(self, group=None, name=None): - self.group = group - self.name = name - self._value = None - self.type = 'string' - self.source = None - self.is_modifiable = True - self.description = None - self.apply_method = None - self.allowed_values = None - - def __repr__(self): - return 'Parameter:%s' % self.name - - def startElement(self, name, attrs, connection): - pass - - def endElement(self, name, value, connection): - if name == 'ParameterName': - self.name = value - elif name == 'ParameterValue': - self._value = value - elif name == 'DataType': - if value in self.ValidTypes: - self.type = value - elif name == 'Source': - if value in self.ValidSources: - self.source = value - elif name == 'IsModifiable': - if value.lower() == 'true': - self.is_modifiable = True - else: - self.is_modifiable = False - elif name == 'Description': - self.description = value - elif name == 'ApplyType': - if value in self.ValidApplyTypes: - self.apply_type = value - elif name == 'AllowedValues': - self.allowed_values = value - else: - setattr(self, name, value) - - def merge(self, d, i): - prefix = 'Parameters.member.%d.' % i - if self.name: - d[prefix+'ParameterName'] = self.name - if self._value is not None: - d[prefix+'ParameterValue'] = self._value - if self.apply_type: - d[prefix+'ApplyMethod'] = self.apply_method - - def _set_string_value(self, value): - if not isinstance(value, basestring): - raise ValueError('value must be of type str') - if self.allowed_values: - choices = self.allowed_values.split(',') - if value not in choices: - raise ValueError('value must be in %s' % self.allowed_values) - self._value = value - - def _set_integer_value(self, value): - if isinstance(value, basestring): - value = int(value) - if isinstance(value, int) or isinstance(value, long): - if self.allowed_values: - min, max = self.allowed_values.split('-') - if value < int(min) or value > int(max): - raise ValueError('range is %s' % self.allowed_values) - self._value = value - else: - raise ValueError('value must be integer') - - def _set_boolean_value(self, value): - if isinstance(value, bool): - self._value = value - elif isinstance(value, basestring): - if value.lower() == 'true': - self._value = True - else: - self._value = False - else: - raise ValueError('value must be boolean') - - def set_value(self, value): - if self.type == 'string': - self._set_string_value(value) - elif self.type == 'integer': - self._set_integer_value(value) - elif self.type == 'boolean': - self._set_boolean_value(value) - else: - raise TypeError('unknown type (%s)' % self.type) - - def get_value(self): - if self._value is None: - return self._value - if self.type == 'string': - return self._value - elif self.type == 'integer': - if not isinstance(self._value, int) and not isinstance(self._value, long): - self._set_integer_value(self._value) - return self._value - elif self.type == 'boolean': - if not isinstance(self._value, bool): - self._set_boolean_value(self._value) - return self._value - else: - raise TypeError('unknown type (%s)' % self.type) - - value = property(get_value, set_value, 'The value of the parameter') - - def apply(self, immediate=False): - if immediate: - self.apply_method = 'immediate' - else: - self.apply_method = 'pending-reboot' - self.group.connection.modify_parameter_group(self.group.name, [self]) -