Merge pull request #12351 from AlexSCorey/5673-t-importExportSchedules

Adds import export to awx cli for schedules as a top level object
This commit is contained in:
Jeff Bradberry
2022-06-22 10:13:56 -04:00
committed by GitHub
3 changed files with 8 additions and 16 deletions

View File

@@ -26,18 +26,11 @@ EXPORTABLE_RESOURCES = [
'workflow_job_templates', 'workflow_job_templates',
'execution_environments', 'execution_environments',
'applications', 'applications',
'schedules',
] ]
EXPORTABLE_RELATIONS = [ EXPORTABLE_RELATIONS = ['Roles', 'NotificationTemplates', 'WorkflowJobTemplateNodes', 'Credentials', 'Hosts', 'Groups', 'ExecutionEnvironments', 'Schedules']
'Roles',
'NotificationTemplates',
'WorkflowJobTemplateNodes',
'Credentials',
'Hosts',
'Groups',
'ExecutionEnvironments',
]
# These are special-case related objects, where we want only in this # These are special-case related objects, where we want only in this
@@ -45,13 +38,9 @@ EXPORTABLE_RELATIONS = [
DEPENDENT_EXPORT = [ DEPENDENT_EXPORT = [
('JobTemplate', 'labels'), ('JobTemplate', 'labels'),
('JobTemplate', 'survey_spec'), ('JobTemplate', 'survey_spec'),
('JobTemplate', 'schedules'),
('WorkflowJobTemplate', 'labels'), ('WorkflowJobTemplate', 'labels'),
('WorkflowJobTemplate', 'survey_spec'), ('WorkflowJobTemplate', 'survey_spec'),
('WorkflowJobTemplate', 'schedules'),
('WorkflowJobTemplate', 'workflow_nodes'), ('WorkflowJobTemplate', 'workflow_nodes'),
('Project', 'schedules'),
('InventorySource', 'schedules'),
('Inventory', 'groups'), ('Inventory', 'groups'),
('Inventory', 'hosts'), ('Inventory', 'hosts'),
('Inventory', 'labels'), ('Inventory', 'labels'),

View File

@@ -1,6 +1,7 @@
from contextlib import suppress from contextlib import suppress
from awxkit.api.pages import UnifiedJob from awxkit.api.pages import SystemJobTemplate
from awxkit.api.mixins import HasCreate
from awxkit.api.resources import resources from awxkit.api.resources import resources
from awxkit.config import config from awxkit.config import config
import awxkit.exceptions as exc import awxkit.exceptions as exc
@@ -9,8 +10,8 @@ from . import page
from . import base from . import base
class Schedule(UnifiedJob): class Schedule(HasCreate, base.Base):
dependencies = [SystemJobTemplate]
NATURAL_KEY = ('unified_job_template', 'name') NATURAL_KEY = ('unified_job_template', 'name')
def silent_delete(self): def silent_delete(self):

View File

@@ -5,6 +5,8 @@ from . import page
class SystemJobTemplate(UnifiedJobTemplate, HasNotifications): class SystemJobTemplate(UnifiedJobTemplate, HasNotifications):
NATURAL_KEY = ('name', 'organization')
def launch(self, payload={}): def launch(self, payload={}):
"""Launch the system_job_template using related->launch endpoint.""" """Launch the system_job_template using related->launch endpoint."""
result = self.related.launch.post(payload) result = self.related.launch.post(payload)