mirror of
https://github.com/ansible/awx.git
synced 2026-05-08 01:47:35 -02:30
Merge pull request #3868 from rebeccahhh/release_3.6.0
Add api validation for policy rules in container groups
This commit is contained in:
@@ -4801,6 +4801,18 @@ class InstanceGroupSerializer(BaseSerializer):
|
|||||||
raise serializers.ValidationError(_('Isolated instances may not be added or removed from instances groups via the API.'))
|
raise serializers.ValidationError(_('Isolated instances may not be added or removed from instances groups via the API.'))
|
||||||
if self.instance and self.instance.controller_id is not None:
|
if self.instance and self.instance.controller_id is not None:
|
||||||
raise serializers.ValidationError(_('Isolated instance group membership may not be managed via the API.'))
|
raise serializers.ValidationError(_('Isolated instance group membership may not be managed via the API.'))
|
||||||
|
if value and self.instance.is_containerized:
|
||||||
|
raise serializers.ValidationError(_('Containerized instances may not be managed via the API'))
|
||||||
|
return value
|
||||||
|
|
||||||
|
def validate_policy_instance_percentage(self, value):
|
||||||
|
if value and self.instance.is_containerized:
|
||||||
|
raise serializers.ValidationError(_('Containerized instances may not be managed via the API'))
|
||||||
|
return value
|
||||||
|
|
||||||
|
def validate_policy_instance_minimum(self, value):
|
||||||
|
if value and self.instance.is_containerized:
|
||||||
|
raise serializers.ValidationError(_('Containerized instances may not be managed via the API'))
|
||||||
return value
|
return value
|
||||||
|
|
||||||
def validate_name(self, value):
|
def validate_name(self, value):
|
||||||
|
|||||||
@@ -383,6 +383,13 @@ class InstanceGroupDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAP
|
|||||||
serializer_class = serializers.InstanceGroupSerializer
|
serializer_class = serializers.InstanceGroupSerializer
|
||||||
permission_classes = (InstanceGroupTowerPermission,)
|
permission_classes = (InstanceGroupTowerPermission,)
|
||||||
|
|
||||||
|
def update_raw_data(self, data):
|
||||||
|
if self.get_object().is_containerized:
|
||||||
|
data.pop('policy_instance_percentage', None)
|
||||||
|
data.pop('policy_instance_minimum', None)
|
||||||
|
data.pop('policy_instance_list', None)
|
||||||
|
return super(InstanceGroupDetail, self).update_raw_data(data)
|
||||||
|
|
||||||
def destroy(self, request, *args, **kwargs):
|
def destroy(self, request, *args, **kwargs):
|
||||||
instance = self.get_object()
|
instance = self.get_object()
|
||||||
if instance.controller is not None:
|
if instance.controller is not None:
|
||||||
|
|||||||
Reference in New Issue
Block a user