diff --git a/awx/api/generics.py b/awx/api/generics.py index d7982c7159..41724c9440 100644 --- a/awx/api/generics.py +++ b/awx/api/generics.py @@ -197,20 +197,6 @@ class APIView(views.APIView): return { 'view': self, 'docstring': type(self).__doc__ or '', - 'new_in_13': getattr(self, 'new_in_13', False), - 'new_in_14': getattr(self, 'new_in_14', False), - 'new_in_145': getattr(self, 'new_in_145', False), - 'new_in_148': getattr(self, 'new_in_148', False), - 'new_in_200': getattr(self, 'new_in_200', False), - 'new_in_210': getattr(self, 'new_in_210', False), - 'new_in_220': getattr(self, 'new_in_220', False), - 'new_in_230': getattr(self, 'new_in_230', False), - 'new_in_240': getattr(self, 'new_in_240', False), - 'new_in_300': getattr(self, 'new_in_300', False), - 'new_in_310': getattr(self, 'new_in_310', False), - 'new_in_320': getattr(self, 'new_in_320', False), - 'new_in_330': getattr(self, 'new_in_330', False), - 'new_in_api_v2': getattr(self, 'new_in_api_v2', False), 'deprecated': getattr(self, 'deprecated', False), 'swagger_method': getattr(self.request, 'swagger_method', None), } diff --git a/awx/api/metadata.py b/awx/api/metadata.py index 7beb3bd5ad..bc44deb6f0 100644 --- a/awx/api/metadata.py +++ b/awx/api/metadata.py @@ -190,23 +190,6 @@ class Metadata(metadata.SimpleMetadata): finally: delattr(view, '_request') - # Add version number in which view was added to Tower. - added_in_version = '1.2' - for version in ('3.2.0', '3.1.0', '3.0.0', '2.4.0', '2.3.0', '2.2.0', - '2.1.0', '2.0.0', '1.4.8', '1.4.5', '1.4', '1.3'): - if getattr(view, 'new_in_%s' % version.replace('.', ''), False): - added_in_version = version - break - metadata['added_in_version'] = added_in_version - - # Add API version number in which view was added to Tower. - added_in_api_version = 'v1' - for version in ('v2',): - if getattr(view, 'new_in_api_%s' % version, False): - added_in_api_version = version - break - metadata['added_in_api_version'] = added_in_api_version - # Add type(s) handled by this view/serializer. if hasattr(view, 'get_serializer'): serializer = view.get_serializer() diff --git a/awx/api/templates/api/_new_in_awx.md b/awx/api/templates/api/_new_in_awx.md deleted file mode 100644 index b3e4552517..0000000000 --- a/awx/api/templates/api/_new_in_awx.md +++ /dev/null @@ -1,14 +0,0 @@ -{% if not version_label_flag or version_label_flag == 'true' %} -{% if new_in_13 %}> _Added in AWX 1.3_{% endif %} -{% if new_in_14 %}> _Added in AWX 1.4_{% endif %} -{% if new_in_145 %}> _Added in Ansible Tower 1.4.5_{% endif %} -{% if new_in_148 %}> _Added in Ansible Tower 1.4.8_{% endif %} -{% if new_in_200 %}> _Added in Ansible Tower 2.0.0_{% endif %} -{% if new_in_220 %}> _Added in Ansible Tower 2.2.0_{% endif %} -{% if new_in_230 %}> _Added in Ansible Tower 2.3.0_{% endif %} -{% if new_in_240 %}> _Added in Ansible Tower 2.4.0_{% endif %} -{% if new_in_300 %}> _Added in Ansible Tower 3.0.0_{% endif %} -{% if new_in_310 %}> _New in Ansible Tower 3.1.0_{% endif %} -{% if new_in_320 %}> _New in Ansible Tower 3.2.0_{% endif %} -{% if new_in_330 %}> _New in Ansible Tower 3.3.0_{% endif %} -{% endif %} diff --git a/awx/api/templates/api/api_view.md b/awx/api/templates/api/api_view.md index d716841f26..1fb0d77840 100644 --- a/awx/api/templates/api/api_view.md +++ b/awx/api/templates/api/api_view.md @@ -1,3 +1 @@ {{ docstring }} - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/dashboard_inventory_graph_view.md b/awx/api/templates/api/dashboard_inventory_graph_view.md index ab31a13887..7353bf5006 100644 --- a/awx/api/templates/api/dashboard_inventory_graph_view.md +++ b/awx/api/templates/api/dashboard_inventory_graph_view.md @@ -38,5 +38,3 @@ Data about failed and successfull hosts by inventory will be given as: "id": 2, "name": "Test Inventory" }, - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/dashboard_jobs_graph_view.md b/awx/api/templates/api/dashboard_jobs_graph_view.md index fa3c42497f..2e510b2a56 100644 --- a/awx/api/templates/api/dashboard_jobs_graph_view.md +++ b/awx/api/templates/api/dashboard_jobs_graph_view.md @@ -35,5 +35,3 @@ Data will be returned in the following format: Each element contains an epoch timestamp represented in seconds and a numerical value indicating the number of events during that time period - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/dashboard_view.md b/awx/api/templates/api/dashboard_view.md index 16e16dbcc0..112c639e13 100644 --- a/awx/api/templates/api/dashboard_view.md +++ b/awx/api/templates/api/dashboard_view.md @@ -1,3 +1 @@ Make a GET request to this resource to retrieve aggregate statistics for Tower. - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/group_potential_children_list.md b/awx/api/templates/api/group_potential_children_list.md index 207eb361af..a67d8ef8ff 100644 --- a/awx/api/templates/api/group_potential_children_list.md +++ b/awx/api/templates/api/group_potential_children_list.md @@ -5,5 +5,3 @@ Make a GET request to this resource to retrieve a list of current {{ parent_model_verbose_name }}. {% include "api/_list_common.md" %} - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/host_fact_compare_view.md b/awx/api/templates/api/host_fact_compare_view.md index aed95a1999..871bc75068 100644 --- a/awx/api/templates/api/host_fact_compare_view.md +++ b/awx/api/templates/api/host_fact_compare_view.md @@ -9,5 +9,3 @@ You may filter by datetime: and module `?datetime=2015-06-01&module=ansible` - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/host_fact_versions_list.md b/awx/api/templates/api/host_fact_versions_list.md index 33eafb91f4..e2948505a7 100644 --- a/awx/api/templates/api/host_fact_versions_list.md +++ b/awx/api/templates/api/host_fact_versions_list.md @@ -9,5 +9,3 @@ You may filter scan runs using the `from` and `to` properties: You may also filter by module `?module=packages` - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/inventory_inventory_sources_update.md b/awx/api/templates/api/inventory_inventory_sources_update.md index 709b53afbf..edf17a27ce 100644 --- a/awx/api/templates/api/inventory_inventory_sources_update.md +++ b/awx/api/templates/api/inventory_inventory_sources_update.md @@ -29,5 +29,3 @@ Response code from this action will be: - 202 if some inventory source updates were successful, but some failed - 400 if all of the inventory source updates failed - 400 if there are no inventory sources in the inventory - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/inventory_source_cancel.md b/awx/api/templates/api/inventory_source_cancel.md index 945ca93011..f0a05788bb 100644 --- a/awx/api/templates/api/inventory_source_cancel.md +++ b/awx/api/templates/api/inventory_source_cancel.md @@ -9,5 +9,3 @@ cancelled. The response will include the following field: Make a POST request to this resource to cancel a pending or running inventory update. The response status code will be 202 if successful, or 405 if the update cannot be canceled. - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/inventory_source_update_view.md b/awx/api/templates/api/inventory_source_update_view.md index 1d71a794b7..34290acc40 100644 --- a/awx/api/templates/api/inventory_source_update_view.md +++ b/awx/api/templates/api/inventory_source_update_view.md @@ -9,5 +9,3 @@ from its inventory source. The response will include the following field: Make a POST request to this resource to update the inventory source. If successful, the response status code will be 202. If the inventory source is not defined or cannot be updated, a 405 status code will be returned. - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/inventory_tree_view.md b/awx/api/templates/api/inventory_tree_view.md index 269b821076..74af6b2f89 100644 --- a/awx/api/templates/api/inventory_tree_view.md +++ b/awx/api/templates/api/inventory_tree_view.md @@ -11,5 +11,3 @@ also containing a list of its children. Each group data structure includes the following fields: {% include "api/_result_fields_common.md" %} - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/job_job_plays_list.md b/awx/api/templates/api/job_job_plays_list.md index 22194615a0..e546f8d35c 100644 --- a/awx/api/templates/api/job_job_plays_list.md +++ b/awx/api/templates/api/job_job_plays_list.md @@ -23,5 +23,3 @@ Will show only failed plays. Alternatively `false` may be used. ?play__icontains=test Will filter plays matching the substring `test` - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/job_job_tasks_list.md b/awx/api/templates/api/job_job_tasks_list.md index dca4ed10fe..892e8bb99e 100644 --- a/awx/api/templates/api/job_job_tasks_list.md +++ b/awx/api/templates/api/job_job_tasks_list.md @@ -25,5 +25,3 @@ Will show only failed plays. Alternatively `false` may be used. ?task__icontains=test Will filter tasks matching the substring `test` - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/job_template_label_list.md b/awx/api/templates/api/job_template_label_list.md index fa2163141b..763db77282 100644 --- a/awx/api/templates/api/job_template_label_list.md +++ b/awx/api/templates/api/job_template_label_list.md @@ -1,13 +1,7 @@ -{% with 'false' as version_label_flag %} {% include "api/sub_list_create_api_view.md" %} -{% endwith %} Labels not associated with any other resources are deleted. A label can become disassociated with a resource as a result of 3 events. 1. A label is explicitly disassociated with a related job template 2. A job is deleted with labels 3. A cleanup job deletes a job with labels - -{% with 'true' as version_label_flag %} -{% include "api/_new_in_awx.md" %} -{% endwith %} diff --git a/awx/api/templates/api/list_api_view.md b/awx/api/templates/api/list_api_view.md index 69f4d8fa59..598de2ec42 100644 --- a/awx/api/templates/api/list_api_view.md +++ b/awx/api/templates/api/list_api_view.md @@ -5,6 +5,4 @@ Make a GET request to this resource to retrieve the list of {{ model_verbose_name_plural }}. {% include "api/_list_common.md" %} - -{% include "api/_new_in_awx.md" %} {% endifmeth %} diff --git a/awx/api/templates/api/list_create_api_view.md b/awx/api/templates/api/list_create_api_view.md index 89a9c19f61..6dc204b49f 100644 --- a/awx/api/templates/api/list_create_api_view.md +++ b/awx/api/templates/api/list_create_api_view.md @@ -8,5 +8,3 @@ fields to create a new {{ model_verbose_name }}: {% with write_only=1 %} {% include "api/_result_fields_common.md" with serializer_fields=serializer_create_fields %} {% endwith %} - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/project_update_cancel.md b/awx/api/templates/api/project_update_cancel.md index 287c15d169..63e34c6170 100644 --- a/awx/api/templates/api/project_update_cancel.md +++ b/awx/api/templates/api/project_update_cancel.md @@ -9,5 +9,3 @@ cancelled. The response will include the following field: Make a POST request to this resource to cancel a pending or running project update. The response status code will be 202 if successful, or 405 if the update cannot be canceled. - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/project_update_view.md b/awx/api/templates/api/project_update_view.md index 086c6e6ee1..9ff267f9e5 100644 --- a/awx/api/templates/api/project_update_view.md +++ b/awx/api/templates/api/project_update_view.md @@ -8,5 +8,3 @@ from its SCM source. The response will include the following field: Make a POST request to this resource to update the project. If the project cannot be updated, a 405 status code will be returned. - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/retrieve_api_view.md b/awx/api/templates/api/retrieve_api_view.md index 227b5973d8..822233a00e 100644 --- a/awx/api/templates/api/retrieve_api_view.md +++ b/awx/api/templates/api/retrieve_api_view.md @@ -8,5 +8,3 @@ Make GET request to this resource to retrieve a single {{ model_verbose_name }} record containing the following fields: {% include "api/_result_fields_common.md" %} - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/retrieve_destroy_api_view.md b/awx/api/templates/api/retrieve_destroy_api_view.md index ae2d644d3d..e8a6d7cf96 100644 --- a/awx/api/templates/api/retrieve_destroy_api_view.md +++ b/awx/api/templates/api/retrieve_destroy_api_view.md @@ -16,5 +16,3 @@ record containing the following fields: Make a DELETE request to this resource to delete this {{ model_verbose_name }}. {% endifmeth %} - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/retrieve_update_api_view.md b/awx/api/templates/api/retrieve_update_api_view.md index 096552b932..8f3bce0d06 100644 --- a/awx/api/templates/api/retrieve_update_api_view.md +++ b/awx/api/templates/api/retrieve_update_api_view.md @@ -29,5 +29,3 @@ For a PUT request, include **all** fields in the request. {% ifmeth PATCH %} For a PATCH request, include only the fields that are being modified. {% endifmeth %} - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/retrieve_update_destroy_api_view.md b/awx/api/templates/api/retrieve_update_destroy_api_view.md index 3f3d1f1d61..261f2cb667 100644 --- a/awx/api/templates/api/retrieve_update_destroy_api_view.md +++ b/awx/api/templates/api/retrieve_update_destroy_api_view.md @@ -35,5 +35,3 @@ For a PATCH request, include only the fields that are being modified. Make a DELETE request to this resource to delete this {{ model_verbose_name }}. {% endifmeth %} - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/sub_list_api_view.md b/awx/api/templates/api/sub_list_api_view.md index f367674c66..e42d2f02b2 100644 --- a/awx/api/templates/api/sub_list_api_view.md +++ b/awx/api/templates/api/sub_list_api_view.md @@ -6,5 +6,4 @@ Make a GET request to this resource to retrieve a list of {{ parent_model_verbose_name }}. {% include "api/_list_common.md" %} -{% include "api/_new_in_awx.md" %} {% endifmeth %} diff --git a/awx/api/templates/api/sub_list_create_api_view.md b/awx/api/templates/api/sub_list_create_api_view.md index a458404e81..17856295be 100644 --- a/awx/api/templates/api/sub_list_create_api_view.md +++ b/awx/api/templates/api/sub_list_create_api_view.md @@ -37,5 +37,3 @@ remove the {{ model_verbose_name }} from this {{ parent_model_verbose_name }} {% if model_verbose_name != "label" %} without deleting the {{ model_verbose_name }}{% endif %}. {% endif %} {% endif %} - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/templates/api/unified_job_stdout.md b/awx/api/templates/api/unified_job_stdout.md index d86c6e2378..717110202b 100644 --- a/awx/api/templates/api/unified_job_stdout.md +++ b/awx/api/templates/api/unified_job_stdout.md @@ -25,5 +25,3 @@ dark background. Files over {{ settings.STDOUT_MAX_BYTES_DISPLAY|filesizeformat }} (configurable) will not display in the browser. Use the `txt_download` or `ansi_download` formats to download the file directly to view it. - -{% include "api/_new_in_awx.md" %} diff --git a/awx/api/views.py b/awx/api/views.py index 301551d78c..23b8d0e769 100644 --- a/awx/api/views.py +++ b/awx/api/views.py @@ -265,8 +265,6 @@ class ApiV1RootView(ApiVersionRootView): class ApiV2RootView(ApiVersionRootView): view_name = _('Version 2') - new_in_320 = True - new_in_api_v2 = True class ApiV1PingView(APIView): @@ -276,7 +274,6 @@ class ApiV1PingView(APIView): permission_classes = (AllowAny,) authentication_classes = () view_name = _('Ping') - new_in_210 = True swagger_topic = 'System Configuration' def get(self, request, format=None): @@ -410,7 +407,6 @@ class ApiV1ConfigView(APIView): class DashboardView(APIView): view_name = _("Dashboard") - new_in_14 = True swagger_topic = 'Dashboard' def get(self, request, format=None): @@ -510,7 +506,6 @@ class DashboardView(APIView): class DashboardJobsGraphView(APIView): view_name = _("Dashboard Jobs Graphs") - new_in_200 = True swagger_topic = 'Jobs' def get(self, request, format=None): @@ -563,7 +558,6 @@ class InstanceList(ListAPIView): view_name = _("Instances") model = Instance serializer_class = InstanceSerializer - new_in_320 = True class InstanceDetail(RetrieveUpdateAPIView): @@ -571,7 +565,6 @@ class InstanceDetail(RetrieveUpdateAPIView): view_name = _("Instance Detail") model = Instance serializer_class = InstanceSerializer - new_in_320 = True def update(self, request, *args, **kwargs): @@ -594,7 +587,6 @@ class InstanceUnifiedJobsList(SubListAPIView): model = UnifiedJob serializer_class = UnifiedJobSerializer parent_model = Instance - new_in_320 = True def get_queryset(self): po = self.get_parent_object() @@ -609,7 +601,6 @@ class InstanceInstanceGroupsList(InstanceGroupMembershipMixin, SubListCreateAtta model = InstanceGroup serializer_class = InstanceGroupSerializer parent_model = Instance - new_in_320 = True relationship = 'rampart_groups' @@ -618,7 +609,6 @@ class InstanceGroupList(ListCreateAPIView): view_name = _("Instance Groups") model = InstanceGroup serializer_class = InstanceGroupSerializer - new_in_320 = True class InstanceGroupDetail(RetrieveUpdateDestroyAPIView): @@ -626,7 +616,6 @@ class InstanceGroupDetail(RetrieveUpdateDestroyAPIView): view_name = _("Instance Group Detail") model = InstanceGroup serializer_class = InstanceGroupSerializer - new_in_320 = True class InstanceGroupUnifiedJobsList(SubListAPIView): @@ -636,7 +625,6 @@ class InstanceGroupUnifiedJobsList(SubListAPIView): serializer_class = UnifiedJobSerializer parent_model = InstanceGroup relationship = "unifiedjob_set" - new_in_320 = True class InstanceGroupInstanceList(InstanceGroupMembershipMixin, SubListAttachDetachAPIView): @@ -645,7 +633,6 @@ class InstanceGroupInstanceList(InstanceGroupMembershipMixin, SubListAttachDetac model = Instance serializer_class = InstanceSerializer parent_model = InstanceGroup - new_in_320 = True relationship = "instances" @@ -654,14 +641,12 @@ class ScheduleList(ListAPIView): view_name = _("Schedules") model = Schedule serializer_class = ScheduleSerializer - new_in_148 = True class ScheduleDetail(RetrieveUpdateDestroyAPIView): model = Schedule serializer_class = ScheduleSerializer - new_in_148 = True class SchedulePreview(GenericAPIView): @@ -669,7 +654,6 @@ class SchedulePreview(GenericAPIView): model = Schedule view_name = _('Schedule Recurrence Rule Preview') serializer_class = SchedulePreviewSerializer - new_in_api_v2 = True def post(self, request): serializer = self.get_serializer(data=request.data) @@ -742,8 +726,6 @@ class LaunchConfigCredentialsBase(SubListAttachDetachAPIView): class ScheduleCredentialsList(LaunchConfigCredentialsBase): parent_model = Schedule - new_in_330 = True - new_in_api_v2 = True class ScheduleUnifiedJobsList(SubListAPIView): @@ -753,7 +735,6 @@ class ScheduleUnifiedJobsList(SubListAPIView): parent_model = Schedule relationship = 'unifiedjob_set' view_name = _('Schedule Jobs List') - new_in_148 = True class AuthView(APIView): @@ -761,7 +742,6 @@ class AuthView(APIView): authentication_classes = [] permission_classes = (AllowAny,) - new_in_240 = True swagger_topic = 'System Configuration' def get(self, request): @@ -1083,7 +1063,6 @@ class OrganizationWorkflowJobTemplatesList(SubListCreateAttachDetachAPIView): parent_model = Organization relationship = 'workflows' parent_key = 'organization' - new_in_310 = True class OrganizationTeamsList(SubListCreateAttachDetachAPIView): @@ -1101,7 +1080,6 @@ class OrganizationActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIV serializer_class = ActivityStreamSerializer parent_model = Organization relationship = 'activitystream_set' - new_in_145 = True class OrganizationNotificationTemplatesList(SubListCreateAttachDetachAPIView): @@ -1119,7 +1097,6 @@ class OrganizationNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView) serializer_class = NotificationTemplateSerializer parent_model = Organization relationship = 'notification_templates_any' - new_in_300 = True class OrganizationNotificationTemplatesErrorList(SubListCreateAttachDetachAPIView): @@ -1128,7 +1105,6 @@ class OrganizationNotificationTemplatesErrorList(SubListCreateAttachDetachAPIVie serializer_class = NotificationTemplateSerializer parent_model = Organization relationship = 'notification_templates_error' - new_in_300 = True class OrganizationNotificationTemplatesSuccessList(SubListCreateAttachDetachAPIView): @@ -1137,7 +1113,6 @@ class OrganizationNotificationTemplatesSuccessList(SubListCreateAttachDetachAPIV serializer_class = NotificationTemplateSerializer parent_model = Organization relationship = 'notification_templates_success' - new_in_300 = True class OrganizationInstanceGroupsList(SubListAttachDetachAPIView): @@ -1146,14 +1121,12 @@ class OrganizationInstanceGroupsList(SubListAttachDetachAPIView): serializer_class = InstanceGroupSerializer parent_model = Organization relationship = 'instance_groups' - new_in_320 = True class OrganizationAccessList(ResourceAccessList): model = User # needs to be User for AccessLists's parent_model = Organization - new_in_300 = True class OrganizationObjectRolesList(SubListAPIView): @@ -1161,7 +1134,6 @@ class OrganizationObjectRolesList(SubListAPIView): model = Role serializer_class = RoleSerializer parent_model = Organization - new_in_300 = True def get_queryset(self): po = self.get_parent_object() @@ -1201,7 +1173,6 @@ class TeamRolesList(SubListAttachDetachAPIView): metadata_class = RoleMetadata parent_model = Team relationship='member_role.children' - new_in_300 = True def get_queryset(self): team = get_object_or_404(Team, pk=self.kwargs['pk']) @@ -1239,7 +1210,6 @@ class TeamObjectRolesList(SubListAPIView): model = Role serializer_class = RoleSerializer parent_model = Team - new_in_300 = True def get_queryset(self): po = self.get_parent_object() @@ -1271,7 +1241,6 @@ class TeamActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): serializer_class = ActivityStreamSerializer parent_model = Team relationship = 'activitystream_set' - new_in_145 = True def get_queryset(self): parent = self.get_parent_object() @@ -1287,7 +1256,6 @@ class TeamAccessList(ResourceAccessList): model = User # needs to be User for AccessLists's parent_model = Team - new_in_300 = True class ProjectList(ListCreateAPIView): @@ -1360,7 +1328,6 @@ class ProjectSchedulesList(SubListCreateAPIView): parent_model = Project relationship = 'schedules' parent_key = 'unified_job_template' - new_in_148 = True class ProjectScmInventorySources(SubListAPIView): @@ -1371,7 +1338,6 @@ class ProjectScmInventorySources(SubListAPIView): parent_model = Project relationship = 'scm_inventory_sources' parent_key = 'source_project' - new_in_320 = True class ProjectActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): @@ -1380,7 +1346,6 @@ class ProjectActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): serializer_class = ActivityStreamSerializer parent_model = Project relationship = 'activitystream_set' - new_in_145 = True def get_queryset(self): parent = self.get_parent_object() @@ -1399,7 +1364,6 @@ class ProjectNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView): serializer_class = NotificationTemplateSerializer parent_model = Project relationship = 'notification_templates_any' - new_in_300 = True class ProjectNotificationTemplatesErrorList(SubListCreateAttachDetachAPIView): @@ -1408,7 +1372,6 @@ class ProjectNotificationTemplatesErrorList(SubListCreateAttachDetachAPIView): serializer_class = NotificationTemplateSerializer parent_model = Project relationship = 'notification_templates_error' - new_in_300 = True class ProjectNotificationTemplatesSuccessList(SubListCreateAttachDetachAPIView): @@ -1417,7 +1380,6 @@ class ProjectNotificationTemplatesSuccessList(SubListCreateAttachDetachAPIView): serializer_class = NotificationTemplateSerializer parent_model = Project relationship = 'notification_templates_success' - new_in_300 = True class ProjectUpdatesList(SubListAPIView): @@ -1426,7 +1388,6 @@ class ProjectUpdatesList(SubListAPIView): serializer_class = ProjectUpdateSerializer parent_model = Project relationship = 'project_updates' - new_in_13 = True class ProjectUpdateView(RetrieveAPIView): @@ -1434,7 +1395,6 @@ class ProjectUpdateView(RetrieveAPIView): model = Project serializer_class = ProjectUpdateViewSerializer permission_classes = (ProjectUpdatePermission,) - new_in_13 = True def post(self, request, *args, **kwargs): obj = self.get_object() @@ -1458,14 +1418,12 @@ class ProjectUpdateList(ListAPIView): model = ProjectUpdate serializer_class = ProjectUpdateListSerializer - new_in_13 = True class ProjectUpdateDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): model = ProjectUpdate serializer_class = ProjectUpdateSerializer - new_in_13 = True class ProjectUpdateEventsList(SubListAPIView): @@ -1512,7 +1470,6 @@ class ProjectUpdateCancel(RetrieveAPIView): model = ProjectUpdate obj_permission_type = 'cancel' serializer_class = ProjectUpdateCancelSerializer - new_in_13 = True def post(self, request, *args, **kwargs): obj = self.get_object() @@ -1529,7 +1486,6 @@ class ProjectUpdateNotificationsList(SubListAPIView): serializer_class = NotificationSerializer parent_model = ProjectUpdate relationship = 'notifications' - new_in_300 = True class ProjectUpdateScmInventoryUpdates(SubListCreateAPIView): @@ -1540,14 +1496,12 @@ class ProjectUpdateScmInventoryUpdates(SubListCreateAPIView): parent_model = ProjectUpdate relationship = 'scm_inventory_updates' parent_key = 'source_project_update' - new_in_320 = True class ProjectAccessList(ResourceAccessList): model = User # needs to be User for AccessLists's parent_model = Project - new_in_300 = True class ProjectObjectRolesList(SubListAPIView): @@ -1555,7 +1509,6 @@ class ProjectObjectRolesList(SubListAPIView): model = Role serializer_class = RoleSerializer parent_model = Project - new_in_300 = True def get_queryset(self): po = self.get_parent_object() @@ -1622,7 +1575,6 @@ class UserRolesList(SubListAttachDetachAPIView): parent_model = User relationship='roles' permission_classes = (IsAuthenticated,) - new_in_300 = True def get_queryset(self): u = get_object_or_404(User, pk=self.kwargs['pk']) @@ -1715,7 +1667,6 @@ class UserActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): serializer_class = ActivityStreamSerializer parent_model = User relationship = 'activitystream_set' - new_in_145 = True def get_queryset(self): parent = self.get_parent_object() @@ -1766,23 +1717,18 @@ class UserAccessList(ResourceAccessList): model = User # needs to be User for AccessLists's parent_model = User - new_in_300 = True class CredentialTypeList(ListCreateAPIView): model = CredentialType serializer_class = CredentialTypeSerializer - new_in_320 = True - new_in_api_v2 = True class CredentialTypeDetail(RetrieveUpdateDestroyAPIView): model = CredentialType serializer_class = CredentialTypeSerializer - new_in_320 = True - new_in_api_v2 = True def destroy(self, request, *args, **kwargs): instance = self.get_object() @@ -1799,8 +1745,6 @@ class CredentialTypeCredentialList(SubListAPIView): parent_model = CredentialType relationship = 'credentials' serializer_class = CredentialSerializer - new_in_320 = True - new_in_api_v2 = True class CredentialTypeActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): @@ -1809,8 +1753,6 @@ class CredentialTypeActivityStreamList(ActivityStreamEnforcementMixin, SubListAP serializer_class = ActivityStreamSerializer parent_model = CredentialType relationship = 'activitystream_set' - new_in_320 = True - new_in_api_v2 = True # remove in 3.3 @@ -1838,7 +1780,6 @@ class CredentialOwnerUsersList(SubListAPIView): serializer_class = UserSerializer parent_model = Credential relationship = 'admin_role.members' - new_in_300 = True class CredentialOwnerTeamsList(SubListAPIView): @@ -1846,7 +1787,6 @@ class CredentialOwnerTeamsList(SubListAPIView): model = Team serializer_class = TeamSerializer parent_model = Credential - new_in_300 = True def get_queryset(self): credential = get_object_or_404(self.parent_model, pk=self.kwargs['pk']) @@ -1927,14 +1867,12 @@ class CredentialActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIVie serializer_class = ActivityStreamSerializer parent_model = Credential relationship = 'activitystream_set' - new_in_145 = True class CredentialAccessList(ResourceAccessList): model = User # needs to be User for AccessLists's parent_model = Credential - new_in_300 = True class CredentialObjectRolesList(SubListAPIView): @@ -1942,7 +1880,6 @@ class CredentialObjectRolesList(SubListAPIView): model = Role serializer_class = RoleSerializer parent_model = Credential - new_in_300 = True def get_queryset(self): po = self.get_parent_object() @@ -1960,14 +1897,12 @@ class InventoryScriptList(ListCreateAPIView): model = CustomInventoryScript serializer_class = CustomInventoryScriptSerializer - new_in_210 = True class InventoryScriptDetail(RetrieveUpdateDestroyAPIView): model = CustomInventoryScript serializer_class = CustomInventoryScriptSerializer - new_in_210 = True def destroy(self, request, *args, **kwargs): instance = self.get_object() @@ -1985,7 +1920,6 @@ class InventoryScriptObjectRolesList(SubListAPIView): model = Role serializer_class = RoleSerializer parent_model = CustomInventoryScript - new_in_300 = True def get_queryset(self): po = self.get_parent_object() @@ -2073,7 +2007,6 @@ class InventoryActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView serializer_class = ActivityStreamSerializer parent_model = Inventory relationship = 'activitystream_set' - new_in_145 = True def get_queryset(self): parent = self.get_parent_object() @@ -2088,14 +2021,12 @@ class InventoryInstanceGroupsList(SubListAttachDetachAPIView): serializer_class = InstanceGroupSerializer parent_model = Inventory relationship = 'instance_groups' - new_in_320 = True class InventoryAccessList(ResourceAccessList): model = User # needs to be User for AccessLists's parent_model = Inventory - new_in_300 = True class InventoryObjectRolesList(SubListAPIView): @@ -2103,7 +2034,6 @@ class InventoryObjectRolesList(SubListAPIView): model = Role serializer_class = RoleSerializer parent_model = Inventory - new_in_300 = True def get_queryset(self): po = self.get_parent_object() @@ -2117,7 +2047,6 @@ class InventoryJobTemplateList(SubListAPIView): serializer_class = JobTemplateSerializer parent_model = Inventory relationship = 'jobtemplates' - new_in_300 = True def get_queryset(self): parent = self.get_parent_object() @@ -2175,8 +2104,6 @@ class HostAnsibleFactsDetail(RetrieveAPIView): model = Host serializer_class = AnsibleFactsSerializer - new_in_320 = True - new_in_api_v2 = True class InventoryHostsList(HostRelatedSearchMixin, SubListCreateAttachDetachAPIView): @@ -2237,7 +2164,6 @@ class HostInventorySourcesList(SubListAPIView): serializer_class = InventorySourceSerializer parent_model = Host relationship = 'inventory_sources' - new_in_148 = True class HostSmartInventoriesList(SubListAPIView): @@ -2245,7 +2171,6 @@ class HostSmartInventoriesList(SubListAPIView): serializer_class = InventorySerializer parent_model = Host relationship = 'smart_inventories' - new_in_320 = True class HostActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): @@ -2254,7 +2179,6 @@ class HostActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): serializer_class = ActivityStreamSerializer parent_model = Host relationship = 'activitystream_set' - new_in_145 = True def get_queryset(self): parent = self.get_parent_object() @@ -2268,7 +2192,6 @@ class HostFactVersionsList(SystemTrackingEnforcementMixin, ParentMixin, ListAPIV model = Fact serializer_class = FactVersionSerializer parent_model = Host - new_in_220 = True def get_queryset(self): from_spec = self.request.query_params.get('from', None) @@ -2292,7 +2215,6 @@ class HostFactVersionsList(SystemTrackingEnforcementMixin, ParentMixin, ListAPIV class HostFactCompareView(SystemTrackingEnforcementMixin, SubDetailAPIView): model = Fact - new_in_220 = True parent_model = Host serializer_class = FactSerializer @@ -2313,8 +2235,6 @@ class HostInsights(GenericAPIView): model = Host serializer_class = EmptySerializer - new_in_320 = True - new_in_api_v2 = True def _extract_insights_creds(self, credential): return (credential.inputs['username'], decrypt_field(credential, 'password')) @@ -2436,7 +2356,6 @@ class GroupPotentialChildrenList(SubListAPIView): model = Group serializer_class = GroupSerializer parent_model = Group - new_in_14 = True def get_queryset(self): parent = self.get_parent_object() @@ -2501,7 +2420,6 @@ class GroupInventorySourcesList(SubListAPIView): serializer_class = InventorySourceSerializer parent_model = Group relationship = 'inventory_sources' - new_in_148 = True class GroupActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): @@ -2510,7 +2428,6 @@ class GroupActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): serializer_class = ActivityStreamSerializer parent_model = Group relationship = 'activitystream_set' - new_in_145 = True def get_queryset(self): parent = self.get_parent_object() @@ -2617,7 +2534,6 @@ class InventoryTreeView(RetrieveAPIView): model = Inventory serializer_class = GroupTreeSerializer filter_backends = () - new_in_13 = True def _populate_group_children(self, group_data, all_group_data_map, group_children_map): if 'children' in group_data: @@ -2655,7 +2571,6 @@ class InventoryInventorySourcesList(SubListCreateAPIView): always_allow_superuser = False relationship = 'inventory_sources' parent_key = 'inventory' - new_in_320 = True class InventoryInventorySourcesUpdate(RetrieveAPIView): @@ -2665,7 +2580,6 @@ class InventoryInventorySourcesUpdate(RetrieveAPIView): obj_permission_type = 'start' serializer_class = InventorySourceUpdateSerializer permission_classes = (InventoryInventorySourcesUpdatePermission,) - new_in_320 = True def retrieve(self, request, *args, **kwargs): inventory = self.get_object() @@ -2713,7 +2627,6 @@ class InventorySourceList(ListCreateAPIView): model = InventorySource serializer_class = InventorySourceSerializer always_allow_superuser = False - new_in_320 = True @property def allowed_methods(self): @@ -2727,7 +2640,6 @@ class InventorySourceDetail(RetrieveUpdateDestroyAPIView): model = InventorySource serializer_class = InventorySourceSerializer - new_in_14 = True def destroy(self, request, *args, **kwargs): obj = self.get_object() @@ -2748,7 +2660,6 @@ class InventorySourceSchedulesList(SubListCreateAPIView): parent_model = InventorySource relationship = 'schedules' parent_key = 'unified_job_template' - new_in_148 = True class InventorySourceActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): @@ -2757,7 +2668,6 @@ class InventorySourceActivityStreamList(ActivityStreamEnforcementMixin, SubListA serializer_class = ActivityStreamSerializer parent_model = InventorySource relationship = 'activitystream_set' - new_in_145 = True class InventorySourceNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView): @@ -2766,7 +2676,6 @@ class InventorySourceNotificationTemplatesAnyList(SubListCreateAttachDetachAPIVi serializer_class = NotificationTemplateSerializer parent_model = InventorySource relationship = 'notification_templates_any' - new_in_300 = True def post(self, request, *args, **kwargs): parent = self.get_parent_object() @@ -2793,7 +2702,6 @@ class InventorySourceHostsList(HostRelatedSearchMixin, SubListDestroyAPIView): serializer_class = HostSerializer parent_model = InventorySource relationship = 'hosts' - new_in_148 = True check_sub_obj_permission = False capabilities_prefetch = ['inventory.admin'] @@ -2804,7 +2712,6 @@ class InventorySourceGroupsList(SubListDestroyAPIView): serializer_class = GroupSerializer parent_model = InventorySource relationship = 'groups' - new_in_148 = True check_sub_obj_permission = False @@ -2814,7 +2721,6 @@ class InventorySourceUpdatesList(SubListAPIView): serializer_class = InventoryUpdateSerializer parent_model = InventorySource relationship = 'inventory_updates' - new_in_14 = True class InventorySourceUpdateView(RetrieveAPIView): @@ -2822,7 +2728,6 @@ class InventorySourceUpdateView(RetrieveAPIView): model = InventorySource obj_permission_type = 'start' serializer_class = InventorySourceUpdateSerializer - new_in_14 = True def post(self, request, *args, **kwargs): obj = self.get_object() @@ -2850,7 +2755,6 @@ class InventoryUpdateDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): model = InventoryUpdate serializer_class = InventoryUpdateSerializer - new_in_14 = True class InventoryUpdateCancel(RetrieveAPIView): @@ -2858,7 +2762,6 @@ class InventoryUpdateCancel(RetrieveAPIView): model = InventoryUpdate obj_permission_type = 'cancel' serializer_class = InventoryUpdateCancelSerializer - new_in_14 = True def post(self, request, *args, **kwargs): obj = self.get_object() @@ -2875,7 +2778,6 @@ class InventoryUpdateNotificationsList(SubListAPIView): serializer_class = NotificationSerializer parent_model = InventoryUpdate relationship = 'notifications' - new_in_300 = True class JobTemplateList(ListCreateAPIView): @@ -3085,7 +2987,6 @@ class JobTemplateSchedulesList(SubListCreateAPIView): parent_model = JobTemplate relationship = 'schedules' parent_key = 'unified_job_template' - new_in_148 = True class JobTemplateSurveySpec(GenericAPIView): @@ -3093,7 +2994,6 @@ class JobTemplateSurveySpec(GenericAPIView): model = JobTemplate obj_permission_type = 'admin' serializer_class = EmptySerializer - new_in_210 = True def get(self, request, *args, **kwargs): obj = self.get_object() @@ -3200,7 +3100,6 @@ class JobTemplateSurveySpec(GenericAPIView): class WorkflowJobTemplateSurveySpec(WorkflowsEnforcementMixin, JobTemplateSurveySpec): model = WorkflowJobTemplate - new_in_310 = True class JobTemplateActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): @@ -3209,7 +3108,6 @@ class JobTemplateActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIVi serializer_class = ActivityStreamSerializer parent_model = JobTemplate relationship = 'activitystream_set' - new_in_145 = True class JobTemplateNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView): @@ -3218,7 +3116,6 @@ class JobTemplateNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView): serializer_class = NotificationTemplateSerializer parent_model = JobTemplate relationship = 'notification_templates_any' - new_in_300 = True class JobTemplateNotificationTemplatesErrorList(SubListCreateAttachDetachAPIView): @@ -3227,7 +3124,6 @@ class JobTemplateNotificationTemplatesErrorList(SubListCreateAttachDetachAPIView serializer_class = NotificationTemplateSerializer parent_model = JobTemplate relationship = 'notification_templates_error' - new_in_300 = True class JobTemplateNotificationTemplatesSuccessList(SubListCreateAttachDetachAPIView): @@ -3236,7 +3132,6 @@ class JobTemplateNotificationTemplatesSuccessList(SubListCreateAttachDetachAPIVi serializer_class = NotificationTemplateSerializer parent_model = JobTemplate relationship = 'notification_templates_success' - new_in_300 = True class JobTemplateCredentialsList(SubListCreateAttachDetachAPIView): @@ -3245,8 +3140,6 @@ class JobTemplateCredentialsList(SubListCreateAttachDetachAPIView): serializer_class = CredentialSerializer parent_model = JobTemplate relationship = 'credentials' - new_in_330 = True - new_in_api_v2 = True def get_queryset(self): # Return the full list of credentials @@ -3270,8 +3163,6 @@ class JobTemplateCredentialsList(SubListCreateAttachDetachAPIView): class JobTemplateExtraCredentialsList(JobTemplateCredentialsList): deprecated = True - new_in_320 = True - new_in_330 = False def get_queryset(self): sublist_qs = super(JobTemplateExtraCredentialsList, self).get_queryset() @@ -3291,7 +3182,6 @@ class JobTemplateLabelList(DeleteLastUnattachLabelMixin, SubListCreateAttachDeta serializer_class = LabelSerializer parent_model = JobTemplate relationship = 'labels' - new_in_300 = True def post(self, request, *args, **kwargs): # If a label already exists in the database, attach it instead of erroring out @@ -3480,14 +3370,12 @@ class JobTemplateInstanceGroupsList(SubListAttachDetachAPIView): serializer_class = InstanceGroupSerializer parent_model = JobTemplate relationship = 'instance_groups' - new_in_320 = True class JobTemplateAccessList(ResourceAccessList): model = User # needs to be User for AccessLists's parent_model = JobTemplate - new_in_300 = True class JobTemplateObjectRolesList(SubListAPIView): @@ -3495,7 +3383,6 @@ class JobTemplateObjectRolesList(SubListAPIView): model = Role serializer_class = RoleSerializer parent_model = JobTemplate - new_in_300 = True def get_queryset(self): po = self.get_parent_object() @@ -3513,14 +3400,12 @@ class WorkflowJobNodeList(WorkflowsEnforcementMixin, ListAPIView): model = WorkflowJobNode serializer_class = WorkflowJobNodeListSerializer - new_in_310 = True class WorkflowJobNodeDetail(WorkflowsEnforcementMixin, RetrieveAPIView): model = WorkflowJobNode serializer_class = WorkflowJobNodeDetailSerializer - new_in_310 = True class WorkflowJobNodeCredentialsList(SubListAPIView): @@ -3529,29 +3414,23 @@ class WorkflowJobNodeCredentialsList(SubListAPIView): serializer_class = CredentialSerializer parent_model = WorkflowJobNode relationship = 'credentials' - new_in_330 = True - new_in_api_v2 = True class WorkflowJobTemplateNodeList(WorkflowsEnforcementMixin, ListCreateAPIView): model = WorkflowJobTemplateNode serializer_class = WorkflowJobTemplateNodeSerializer - new_in_310 = True class WorkflowJobTemplateNodeDetail(WorkflowsEnforcementMixin, RetrieveUpdateDestroyAPIView): model = WorkflowJobTemplateNode serializer_class = WorkflowJobTemplateNodeDetailSerializer - new_in_310 = True class WorkflowJobTemplateNodeCredentialsList(LaunchConfigCredentialsBase): parent_model = WorkflowJobTemplateNode - new_in_330 = True - new_in_api_v2 = True class WorkflowJobTemplateNodeChildrenBaseList(WorkflowsEnforcementMixin, EnforceParentRelationshipMixin, SubListCreateAttachDetachAPIView): @@ -3562,7 +3441,6 @@ class WorkflowJobTemplateNodeChildrenBaseList(WorkflowsEnforcementMixin, Enforce parent_model = WorkflowJobTemplateNode relationship = '' enforce_parent_relationship = 'workflow_job_template' - new_in_310 = True ''' Limit the set of WorkflowJobTemplateNodes to the related nodes of specified by @@ -3632,7 +3510,6 @@ class WorkflowJobNodeChildrenBaseList(WorkflowsEnforcementMixin, SubListAPIView) serializer_class = WorkflowJobNodeListSerializer parent_model = WorkflowJobNode relationship = '' - new_in_310 = True # #Limit the set of WorkflowJobeNodes to the related nodes of specified by @@ -3661,7 +3538,6 @@ class WorkflowJobTemplateList(WorkflowsEnforcementMixin, ListCreateAPIView): model = WorkflowJobTemplate serializer_class = WorkflowJobTemplateListSerializer always_allow_superuser = False - new_in_310 = True class WorkflowJobTemplateDetail(WorkflowsEnforcementMixin, RetrieveUpdateDestroyAPIView): @@ -3669,14 +3545,12 @@ class WorkflowJobTemplateDetail(WorkflowsEnforcementMixin, RetrieveUpdateDestroy model = WorkflowJobTemplate serializer_class = WorkflowJobTemplateSerializer always_allow_superuser = False - new_in_310 = True class WorkflowJobTemplateCopy(WorkflowsEnforcementMixin, CopyAPIView): model = WorkflowJobTemplate copy_return_serializer_class = WorkflowJobTemplateSerializer - new_in_310 = True def get(self, request, *args, **kwargs): obj = self.get_object() @@ -3710,7 +3584,6 @@ class WorkflowJobTemplateCopy(WorkflowsEnforcementMixin, CopyAPIView): class WorkflowJobTemplateLabelList(WorkflowsEnforcementMixin, JobTemplateLabelList): parent_model = WorkflowJobTemplate - new_in_310 = True class WorkflowJobTemplateLaunch(WorkflowsEnforcementMixin, RetrieveAPIView): @@ -3719,7 +3592,6 @@ class WorkflowJobTemplateLaunch(WorkflowsEnforcementMixin, RetrieveAPIView): model = WorkflowJobTemplate obj_permission_type = 'start' serializer_class = WorkflowJobLaunchSerializer - new_in_310 = True always_allow_superuser = False def update_raw_data(self, data): @@ -3759,7 +3631,6 @@ class WorkflowJobRelaunch(WorkflowsEnforcementMixin, GenericAPIView): model = WorkflowJob obj_permission_type = 'start' serializer_class = EmptySerializer - new_in_310 = True def check_object_permissions(self, request, obj): if request.method == 'POST' and obj: @@ -3788,7 +3659,6 @@ class WorkflowJobTemplateWorkflowNodesList(WorkflowsEnforcementMixin, SubListCre parent_model = WorkflowJobTemplate relationship = 'workflow_job_template_nodes' parent_key = 'workflow_job_template' - new_in_310 = True def get_queryset(self): return super(WorkflowJobTemplateWorkflowNodesList, self).get_queryset().order_by('id') @@ -3801,7 +3671,6 @@ class WorkflowJobTemplateJobsList(WorkflowsEnforcementMixin, SubListAPIView): parent_model = WorkflowJobTemplate relationship = 'workflow_jobs' parent_key = 'workflow_job_template' - new_in_310 = True class WorkflowJobTemplateSchedulesList(WorkflowsEnforcementMixin, SubListCreateAPIView): @@ -3813,7 +3682,6 @@ class WorkflowJobTemplateSchedulesList(WorkflowsEnforcementMixin, SubListCreateA parent_model = WorkflowJobTemplate relationship = 'schedules' parent_key = 'unified_job_template' - new_in_310 = True class WorkflowJobTemplateNotificationTemplatesAnyList(WorkflowsEnforcementMixin, SubListCreateAttachDetachAPIView): @@ -3822,7 +3690,6 @@ class WorkflowJobTemplateNotificationTemplatesAnyList(WorkflowsEnforcementMixin, serializer_class = NotificationTemplateSerializer parent_model = WorkflowJobTemplate relationship = 'notification_templates_any' - new_in_310 = True class WorkflowJobTemplateNotificationTemplatesErrorList(WorkflowsEnforcementMixin, SubListCreateAttachDetachAPIView): @@ -3831,7 +3698,6 @@ class WorkflowJobTemplateNotificationTemplatesErrorList(WorkflowsEnforcementMixi serializer_class = NotificationTemplateSerializer parent_model = WorkflowJobTemplate relationship = 'notification_templates_error' - new_in_310 = True class WorkflowJobTemplateNotificationTemplatesSuccessList(WorkflowsEnforcementMixin, SubListCreateAttachDetachAPIView): @@ -3840,14 +3706,12 @@ class WorkflowJobTemplateNotificationTemplatesSuccessList(WorkflowsEnforcementMi serializer_class = NotificationTemplateSerializer parent_model = WorkflowJobTemplate relationship = 'notification_templates_success' - new_in_310 = True class WorkflowJobTemplateAccessList(WorkflowsEnforcementMixin, ResourceAccessList): model = User # needs to be User for AccessLists's parent_model = WorkflowJobTemplate - new_in_310 = True class WorkflowJobTemplateObjectRolesList(WorkflowsEnforcementMixin, SubListAPIView): @@ -3855,7 +3719,6 @@ class WorkflowJobTemplateObjectRolesList(WorkflowsEnforcementMixin, SubListAPIVi model = Role serializer_class = RoleSerializer parent_model = WorkflowJobTemplate - new_in_310 = True def get_queryset(self): po = self.get_parent_object() @@ -3869,7 +3732,6 @@ class WorkflowJobTemplateActivityStreamList(WorkflowsEnforcementMixin, ActivityS serializer_class = ActivityStreamSerializer parent_model = WorkflowJobTemplate relationship = 'activitystream_set' - new_in_310 = True def get_queryset(self): parent = self.get_parent_object() @@ -3883,14 +3745,12 @@ class WorkflowJobList(WorkflowsEnforcementMixin, ListCreateAPIView): model = WorkflowJob serializer_class = WorkflowJobListSerializer - new_in_310 = True class WorkflowJobDetail(WorkflowsEnforcementMixin, UnifiedJobDeletionMixin, RetrieveDestroyAPIView): model = WorkflowJob serializer_class = WorkflowJobSerializer - new_in_310 = True class WorkflowJobWorkflowNodesList(WorkflowsEnforcementMixin, SubListAPIView): @@ -3901,7 +3761,6 @@ class WorkflowJobWorkflowNodesList(WorkflowsEnforcementMixin, SubListAPIView): parent_model = WorkflowJob relationship = 'workflow_job_nodes' parent_key = 'workflow_job' - new_in_310 = True def get_queryset(self): return super(WorkflowJobWorkflowNodesList, self).get_queryset().order_by('id') @@ -3912,7 +3771,6 @@ class WorkflowJobCancel(WorkflowsEnforcementMixin, RetrieveAPIView): model = WorkflowJob obj_permission_type = 'cancel' serializer_class = WorkflowJobCancelSerializer - new_in_310 = True def post(self, request, *args, **kwargs): obj = self.get_object() @@ -3931,7 +3789,6 @@ class WorkflowJobNotificationsList(WorkflowsEnforcementMixin, SubListAPIView): serializer_class = NotificationSerializer parent_model = WorkflowJob relationship = 'notifications' - new_in_310 = True class WorkflowJobActivityStreamList(WorkflowsEnforcementMixin, ActivityStreamEnforcementMixin, SubListAPIView): @@ -3940,14 +3797,12 @@ class WorkflowJobActivityStreamList(WorkflowsEnforcementMixin, ActivityStreamEnf serializer_class = ActivityStreamSerializer parent_model = WorkflowJob relationship = 'activitystream_set' - new_in_310 = True class SystemJobTemplateList(ListAPIView): model = SystemJobTemplate serializer_class = SystemJobTemplateSerializer - new_in_210 = True def get(self, request, *args, **kwargs): if not request.user.is_superuser and not request.user.is_system_auditor: @@ -3959,7 +3814,6 @@ class SystemJobTemplateDetail(RetrieveAPIView): model = SystemJobTemplate serializer_class = SystemJobTemplateSerializer - new_in_210 = True class SystemJobTemplateLaunch(GenericAPIView): @@ -3967,7 +3821,6 @@ class SystemJobTemplateLaunch(GenericAPIView): model = SystemJobTemplate obj_permission_type = 'start' serializer_class = EmptySerializer - new_in_210 = True def get(self, request, *args, **kwargs): return Response({}) @@ -3992,7 +3845,6 @@ class SystemJobTemplateSchedulesList(SubListCreateAPIView): parent_model = SystemJobTemplate relationship = 'schedules' parent_key = 'unified_job_template' - new_in_210 = True class SystemJobTemplateJobsList(SubListAPIView): @@ -4002,7 +3854,6 @@ class SystemJobTemplateJobsList(SubListAPIView): parent_model = SystemJobTemplate relationship = 'jobs' parent_key = 'system_job_template' - new_in_210 = True class SystemJobTemplateNotificationTemplatesAnyList(SubListCreateAttachDetachAPIView): @@ -4011,7 +3862,6 @@ class SystemJobTemplateNotificationTemplatesAnyList(SubListCreateAttachDetachAPI serializer_class = NotificationTemplateSerializer parent_model = SystemJobTemplate relationship = 'notification_templates_any' - new_in_300 = True class SystemJobTemplateNotificationTemplatesErrorList(SubListCreateAttachDetachAPIView): @@ -4020,7 +3870,6 @@ class SystemJobTemplateNotificationTemplatesErrorList(SubListCreateAttachDetachA serializer_class = NotificationTemplateSerializer parent_model = SystemJobTemplate relationship = 'notification_templates_error' - new_in_300 = True class SystemJobTemplateNotificationTemplatesSuccessList(SubListCreateAttachDetachAPIView): @@ -4029,7 +3878,6 @@ class SystemJobTemplateNotificationTemplatesSuccessList(SubListCreateAttachDetac serializer_class = NotificationTemplateSerializer parent_model = SystemJobTemplate relationship = 'notification_templates_success' - new_in_300 = True class JobList(ListCreateAPIView): @@ -4073,15 +3921,11 @@ class JobCredentialsList(SubListAPIView): serializer_class = CredentialSerializer parent_model = Job relationship = 'credentials' - new_in_api_v2 = True - new_in_330 = True class JobExtraCredentialsList(JobCredentialsList): deprecated = True - new_in_320 = True - new_in_330 = False def get_queryset(self): sublist_qs = super(JobExtraCredentialsList, self).get_queryset() @@ -4096,12 +3940,10 @@ class JobLabelList(SubListAPIView): parent_model = Job relationship = 'labels' parent_key = 'job' - new_in_300 = True class WorkflowJobLabelList(WorkflowsEnforcementMixin, JobLabelList): parent_model = WorkflowJob - new_in_310 = True class JobActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): @@ -4110,7 +3952,6 @@ class JobActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): serializer_class = ActivityStreamSerializer parent_model = Job relationship = 'activitystream_set' - new_in_145 = True # TODO: remove endpoint in 3.3 @@ -4231,7 +4072,6 @@ class JobCreateSchedule(RetrieveAPIView): model = Job obj_permission_type = 'start' serializer_class = JobCreateScheduleSerializer - new_in_330 = True def post(self, request, *args, **kwargs): obj = self.get_object() @@ -4286,7 +4126,6 @@ class JobNotificationsList(SubListAPIView): serializer_class = NotificationSerializer parent_model = Job relationship = 'notifications' - new_in_300 = True class BaseJobHostSummariesList(SubListAPIView): @@ -4403,7 +4242,6 @@ class AdHocCommandList(ListCreateAPIView): model = AdHocCommand serializer_class = AdHocCommandListSerializer - new_in_220 = True always_allow_superuser = False @csrf_exempt @@ -4478,7 +4316,6 @@ class AdHocCommandDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): model = AdHocCommand serializer_class = AdHocCommandSerializer - new_in_220 = True class AdHocCommandCancel(RetrieveAPIView): @@ -4486,7 +4323,6 @@ class AdHocCommandCancel(RetrieveAPIView): model = AdHocCommand obj_permission_type = 'cancel' serializer_class = AdHocCommandCancelSerializer - new_in_220 = True def post(self, request, *args, **kwargs): obj = self.get_object() @@ -4502,7 +4338,6 @@ class AdHocCommandRelaunch(GenericAPIView): model = AdHocCommand obj_permission_type = 'start' serializer_class = AdHocCommandRelaunchSerializer - new_in_220 = True # FIXME: Figure out why OPTIONS request still shows all fields. @@ -4559,14 +4394,12 @@ class AdHocCommandEventList(ListAPIView): model = AdHocCommandEvent serializer_class = AdHocCommandEventSerializer - new_in_220 = True class AdHocCommandEventDetail(RetrieveAPIView): model = AdHocCommandEvent serializer_class = AdHocCommandEventSerializer - new_in_220 = True class BaseAdHocCommandEventsList(SubListAPIView): @@ -4576,13 +4409,11 @@ class BaseAdHocCommandEventsList(SubListAPIView): parent_model = None # Subclasses must define this attribute. relationship = 'ad_hoc_command_events' view_name = _('Ad Hoc Command Events List') - new_in_220 = True class HostAdHocCommandEventsList(BaseAdHocCommandEventsList): parent_model = Host - new_in_220 = True #class GroupJobEventsList(BaseJobEventsList): @@ -4592,7 +4423,6 @@ class HostAdHocCommandEventsList(BaseAdHocCommandEventsList): class AdHocCommandAdHocCommandEventsList(BaseAdHocCommandEventsList): parent_model = AdHocCommand - new_in_220 = True class AdHocCommandActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIView): @@ -4601,7 +4431,6 @@ class AdHocCommandActivityStreamList(ActivityStreamEnforcementMixin, SubListAPIV serializer_class = ActivityStreamSerializer parent_model = AdHocCommand relationship = 'activitystream_set' - new_in_220 = True class AdHocCommandNotificationsList(SubListAPIView): @@ -4610,14 +4439,12 @@ class AdHocCommandNotificationsList(SubListAPIView): serializer_class = NotificationSerializer parent_model = AdHocCommand relationship = 'notifications' - new_in_300 = True class SystemJobList(ListCreateAPIView): model = SystemJob serializer_class = SystemJobListSerializer - new_in_210 = True def get(self, request, *args, **kwargs): if not request.user.is_superuser and not request.user.is_system_auditor: @@ -4629,7 +4456,6 @@ class SystemJobDetail(UnifiedJobDeletionMixin, RetrieveDestroyAPIView): model = SystemJob serializer_class = SystemJobSerializer - new_in_210 = True class SystemJobCancel(RetrieveAPIView): @@ -4637,7 +4463,6 @@ class SystemJobCancel(RetrieveAPIView): model = SystemJob obj_permission_type = 'cancel' serializer_class = SystemJobCancelSerializer - new_in_210 = True def post(self, request, *args, **kwargs): obj = self.get_object() @@ -4654,14 +4479,12 @@ class SystemJobNotificationsList(SubListAPIView): serializer_class = NotificationSerializer parent_model = SystemJob relationship = 'notifications' - new_in_300 = True class UnifiedJobTemplateList(ListAPIView): model = UnifiedJobTemplate serializer_class = UnifiedJobTemplateSerializer - new_in_148 = True capabilities_prefetch = [ 'admin', 'execute', {'copy': ['jobtemplate.project.use', 'jobtemplate.inventory.use', @@ -4673,7 +4496,6 @@ class UnifiedJobList(ListAPIView): model = UnifiedJob serializer_class = UnifiedJobListSerializer - new_in_148 = True class StdoutANSIFilter(object): @@ -4711,7 +4533,6 @@ class UnifiedJobStdout(RetrieveAPIView): PlainTextRenderer, AnsiTextRenderer, renderers.JSONRenderer, DownloadTextRenderer, AnsiDownloadRenderer] filter_backends = () - new_in_148 = True def retrieve(self, request, *args, **kwargs): unified_job = self.get_object() @@ -4782,7 +4603,6 @@ class UnifiedJobStdout(RetrieveAPIView): class ProjectUpdateStdout(UnifiedJobStdout): model = ProjectUpdate - new_in_13 = True class InventoryUpdateStdout(UnifiedJobStdout): @@ -4798,21 +4618,18 @@ class JobStdout(UnifiedJobStdout): class AdHocCommandStdout(UnifiedJobStdout): model = AdHocCommand - new_in_220 = True class NotificationTemplateList(ListCreateAPIView): model = NotificationTemplate serializer_class = NotificationTemplateSerializer - new_in_300 = True class NotificationTemplateDetail(RetrieveUpdateDestroyAPIView): model = NotificationTemplate serializer_class = NotificationTemplateSerializer - new_in_300 = True def delete(self, request, *args, **kwargs): obj = self.get_object() @@ -4831,7 +4648,6 @@ class NotificationTemplateTest(GenericAPIView): model = NotificationTemplate obj_permission_type = 'start' serializer_class = EmptySerializer - new_in_300 = True def post(self, request, *args, **kwargs): obj = self.get_object() @@ -4857,7 +4673,6 @@ class NotificationTemplateNotificationList(SubListAPIView): parent_model = NotificationTemplate relationship = 'notifications' parent_key = 'notification_template' - new_in_300 = True class NotificationTemplateCopy(CopyAPIView): @@ -4870,42 +4685,36 @@ class NotificationList(ListAPIView): model = Notification serializer_class = NotificationSerializer - new_in_300 = True class NotificationDetail(RetrieveAPIView): model = Notification serializer_class = NotificationSerializer - new_in_300 = True class LabelList(ListCreateAPIView): model = Label serializer_class = LabelSerializer - new_in_300 = True class LabelDetail(RetrieveUpdateAPIView): model = Label serializer_class = LabelSerializer - new_in_300 = True class ActivityStreamList(ActivityStreamEnforcementMixin, SimpleListAPIView): model = ActivityStream serializer_class = ActivityStreamSerializer - new_in_145 = True class ActivityStreamDetail(ActivityStreamEnforcementMixin, RetrieveAPIView): model = ActivityStream serializer_class = ActivityStreamSerializer - new_in_145 = True class RoleList(ListAPIView): @@ -4913,7 +4722,6 @@ class RoleList(ListAPIView): model = Role serializer_class = RoleSerializer permission_classes = (IsAuthenticated,) - new_in_300 = True def get_queryset(self): result = Role.visible_roles(self.request.user) @@ -4932,7 +4740,6 @@ class RoleDetail(RetrieveAPIView): model = Role serializer_class = RoleSerializer - new_in_300 = True class RoleUsersList(SubListAttachDetachAPIView): @@ -4941,7 +4748,6 @@ class RoleUsersList(SubListAttachDetachAPIView): serializer_class = UserSerializer parent_model = Role relationship = 'members' - new_in_300 = True def get_queryset(self): role = self.get_parent_object() @@ -4983,7 +4789,6 @@ class RoleTeamsList(SubListAttachDetachAPIView): parent_model = Role relationship = 'member_role.parents' permission_classes = (IsAuthenticated,) - new_in_300 = True def get_queryset(self): role = self.get_parent_object() @@ -5035,7 +4840,6 @@ class RoleParentsList(SubListAPIView): parent_model = Role relationship = 'parents' permission_classes = (IsAuthenticated,) - new_in_300 = True def get_queryset(self): role = Role.objects.get(pk=self.kwargs['pk']) @@ -5049,7 +4853,6 @@ class RoleChildrenList(SubListAPIView): parent_model = Role relationship = 'children' permission_classes = (IsAuthenticated,) - new_in_300 = True def get_queryset(self): role = Role.objects.get(pk=self.kwargs['pk']) diff --git a/awx/conf/views.py b/awx/conf/views.py index 524abf476a..189dd387dc 100644 --- a/awx/conf/views.py +++ b/awx/conf/views.py @@ -44,7 +44,6 @@ class SettingCategoryList(ListAPIView): model = Setting # Not exactly, but needed for the view. serializer_class = SettingCategorySerializer filter_backends = [] - new_in_310 = True view_name = _('Setting Categories') def get_queryset(self): @@ -69,7 +68,6 @@ class SettingSingletonDetail(RetrieveUpdateDestroyAPIView): model = Setting # Not exactly, but needed for the view. serializer_class = SettingSingletonSerializer filter_backends = [] - new_in_310 = True view_name = _('Setting Detail') def get_queryset(self): @@ -170,7 +168,6 @@ class SettingLoggingTest(GenericAPIView): serializer_class = SettingSingletonSerializer permission_classes = (IsSuperUser,) filter_backends = [] - new_in_320 = True def post(self, request, *args, **kwargs): defaults = dict()