mirror of
https://github.com/ansible/awx.git
synced 2026-03-01 00:38:45 -03:30
remove group_by from inventory source
* Does not remove group_by testing
This commit is contained in:
committed by
Ryan Petrello
parent
e11040f421
commit
7278e7c025
@@ -122,12 +122,6 @@ class Metadata(metadata.SimpleMetadata):
|
||||
get_regions = getattr(InventorySource, 'get_%s_region_choices' % cp)
|
||||
field_info['%s_region_choices' % cp] = get_regions()
|
||||
|
||||
# Special handling of group_by choices for EC2.
|
||||
if field.field_name == 'group_by':
|
||||
for cp in ('ec2',):
|
||||
get_group_by_choices = getattr(InventorySource, 'get_%s_group_by_choices' % cp)
|
||||
field_info['%s_group_by_choices' % cp] = get_group_by_choices()
|
||||
|
||||
# Special handling of notification configuration where the required properties
|
||||
# are conditional on the type selected.
|
||||
if field.field_name == 'notification_configuration':
|
||||
|
||||
@@ -1937,7 +1937,7 @@ class InventorySourceOptionsSerializer(BaseSerializer):
|
||||
|
||||
class Meta:
|
||||
fields = ('*', 'source', 'source_path', 'source_script', 'source_vars', 'credential',
|
||||
'source_regions', 'instance_filters', 'group_by', 'overwrite', 'overwrite_vars',
|
||||
'source_regions', 'instance_filters', 'overwrite', 'overwrite_vars',
|
||||
'custom_virtualenv', 'timeout', 'verbosity')
|
||||
|
||||
def get_related(self, obj):
|
||||
|
||||
@@ -56,4 +56,12 @@ class Migration(migrations.Migration):
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(inventory_source_vars_forward, inventory_source_vars_backward,),
|
||||
migrations.RemoveField(
|
||||
model_name='inventorysource',
|
||||
name='group_by',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='inventoryupdate',
|
||||
name='group_by',
|
||||
),
|
||||
]
|
||||
|
||||
@@ -958,12 +958,6 @@ class InventorySourceOptions(BaseModel):
|
||||
default='',
|
||||
help_text=_('Comma-separated list of filter expressions (EC2 only). Hosts are imported when ANY of the filters match.'),
|
||||
)
|
||||
group_by = models.CharField(
|
||||
max_length=1024,
|
||||
blank=True,
|
||||
default='',
|
||||
help_text=_('Limit groups automatically created from inventory source (EC2 only).'),
|
||||
)
|
||||
overwrite = models.BooleanField(
|
||||
default=False,
|
||||
help_text=_('Overwrite local groups and hosts from remote inventory source.'),
|
||||
@@ -983,24 +977,6 @@ class InventorySourceOptions(BaseModel):
|
||||
default=1,
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def get_ec2_group_by_choices(cls):
|
||||
return [
|
||||
('ami_id', _('Image ID')),
|
||||
('availability_zone', _('Availability Zone')),
|
||||
('aws_account', _('Account')),
|
||||
('instance_id', _('Instance ID')),
|
||||
('instance_state', _('Instance State')),
|
||||
('platform', _('Platform')),
|
||||
('instance_type', _('Instance Type')),
|
||||
('key_pair', _('Key Name')),
|
||||
('region', _('Region')),
|
||||
('security_group', _('Security Group')),
|
||||
('tag_keys', _('Tags')),
|
||||
('tag_none', _('Tag None')),
|
||||
('vpc_id', _('VPC ID')),
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def get_ec2_region_choices(cls):
|
||||
ec2_region_names = getattr(settings, 'EC2_REGION_NAMES', {})
|
||||
@@ -1189,27 +1165,6 @@ class InventorySourceOptions(BaseModel):
|
||||
else:
|
||||
return ''
|
||||
|
||||
def clean_group_by(self):
|
||||
group_by = str(self.group_by or '')
|
||||
if self.source == 'ec2':
|
||||
get_choices = getattr(self, 'get_%s_group_by_choices' % self.source)
|
||||
valid_choices = [x[0] for x in get_choices()]
|
||||
choice_transform = lambda x: x.strip().lower()
|
||||
valid_choices = [choice_transform(x) for x in valid_choices]
|
||||
choices = [choice_transform(x) for x in group_by.split(',') if x.strip()]
|
||||
invalid_choices = []
|
||||
for c in choices:
|
||||
if c not in valid_choices and c not in invalid_choices:
|
||||
invalid_choices.append(c)
|
||||
if invalid_choices:
|
||||
raise ValidationError(_('Invalid group by choice: %(choice)s') %
|
||||
{'choice': ', '.join(invalid_choices)})
|
||||
return ','.join(choices)
|
||||
elif self.source == 'vmware':
|
||||
return group_by
|
||||
else:
|
||||
return ''
|
||||
|
||||
|
||||
class InventorySource(UnifiedJobTemplate, InventorySourceOptions, CustomVirtualEnvMixin, RelatedJobsMixin):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user