Add ability to update allowed_cidr for an existing instance.
Change-Id: I5e471554b30568bd96cb78d922767e644549c873
This commit is contained in:
parent
42d6638d3b
commit
26a40acc6e
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Added ability to update allowed_cidr for an existing instance.
|
@ -200,8 +200,8 @@ def instance_restart(request, instance_id):
|
|||||||
return troveclient(request).instances.restart(instance_id)
|
return troveclient(request).instances.restart(instance_id)
|
||||||
|
|
||||||
|
|
||||||
def instance_update(request, instance_id, name=None):
|
def instance_update(request, instance_id, **kwargs):
|
||||||
return troveclient(request).instances.update(instance_id, name=name)
|
return troveclient(request).instances.update(instance_id, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
def instance_detach_replica(request, instance_id):
|
def instance_detach_replica(request, instance_id):
|
||||||
|
@ -286,6 +286,16 @@ class AttachConfigurationForm(forms.SelfHandlingForm):
|
|||||||
class UpdateInstanceForm(forms.SelfHandlingForm):
|
class UpdateInstanceForm(forms.SelfHandlingForm):
|
||||||
instance_id = forms.CharField(widget=forms.HiddenInput())
|
instance_id = forms.CharField(widget=forms.HiddenInput())
|
||||||
instance_name = forms.CharField(label=_("Name"))
|
instance_name = forms.CharField(label=_("Name"))
|
||||||
|
allowed_cidrs = forms.MultiIPField(
|
||||||
|
label=_("Allowed CIDRs"),
|
||||||
|
required=False,
|
||||||
|
help_text=_("Classless Inter-Domain Routing "
|
||||||
|
"(e.g. 192.168.0.0/24, or "
|
||||||
|
"2001:db8::/128). Can enter multiple values separating"
|
||||||
|
"by a comma"),
|
||||||
|
version=forms.IPv4 | forms.IPv6,
|
||||||
|
mask=True,
|
||||||
|
widget=forms.TextInput())
|
||||||
|
|
||||||
def __init__(self, request, *args, **kwargs):
|
def __init__(self, request, *args, **kwargs):
|
||||||
super(UpdateInstanceForm, self).__init__(request, *args, **kwargs)
|
super(UpdateInstanceForm, self).__init__(request, *args, **kwargs)
|
||||||
@ -294,9 +304,13 @@ class UpdateInstanceForm(forms.SelfHandlingForm):
|
|||||||
|
|
||||||
def handle(self, request, data):
|
def handle(self, request, data):
|
||||||
instance_id = data.get('instance_id')
|
instance_id = data.get('instance_id')
|
||||||
|
allowed_cidrs = data.get('allowed_cidrs')
|
||||||
instance_name = data.get('instance_name')
|
instance_name = data.get('instance_name')
|
||||||
|
update_kwargs = {'name': instance_name}
|
||||||
|
if allowed_cidrs:
|
||||||
|
update_kwargs['allowed_cidrs'] = allowed_cidrs.split(',')
|
||||||
try:
|
try:
|
||||||
api.trove.instance_update(request, instance_id, instance_name)
|
api.trove.instance_update(request, instance_id, **update_kwargs)
|
||||||
|
|
||||||
messages.success(request, _('Instance "%s" successfully updated.')
|
messages.success(request, _('Instance "%s" successfully updated.')
|
||||||
% instance_name)
|
% instance_name)
|
||||||
|
@ -125,8 +125,10 @@ class UpdateInstanceView(horizon_forms.ModalFormView):
|
|||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
instance = self.get_object()
|
instance = self.get_object()
|
||||||
|
allowed_cidrs = instance.access.get('allowed_cidrs', ['0.0.0.0/0'])
|
||||||
return {'instance_id': self.kwargs['instance_id'],
|
return {'instance_id': self.kwargs['instance_id'],
|
||||||
'instance_name': instance.name,
|
'instance_name': instance.name,
|
||||||
|
'allowed_cidrs': ','.join(allowed_cidrs),
|
||||||
'datastore_version': instance.datastore.get('version', '')}
|
'datastore_version': instance.datastore.get('version', '')}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user