Class: ForemanAnsibleDirector::Api::V2::AssignmentsController

Inherits:
AnsibleDirectorApiController show all
Defined in:
app/controllers/foreman_ansible_director/api/v2/assignments_controller.rb

Instance Method Summary collapse

Methods inherited from AnsibleDirectorApiController

#find_organization

Instance Method Details

#assignObject

endregion



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'app/controllers/foreman_ansible_director/api/v2/assignments_controller.rb', line 88

def assign
  assignment = assignment_params

  source = ::ForemanAnsibleDirector::AssignmentService.find_target(
    target_type: assignment[:source][:type],
    target_id: assignment[:source][:id]
  )

  target = ::ForemanAnsibleDirector::AssignmentService.find_target(
    target_type: assignment[:target][:type],
    target_id: assignment[:target][:id]
  )

  ::ForemanAnsibleDirector::AssignmentService.create_assignment(
    consumable: source,
    assignable: target
  )
end

#assign_bulkObject

endregion



158
159
160
161
162
163
# File 'app/controllers/foreman_ansible_director/api/v2/assignments_controller.rb', line 158

def assign_bulk
  assignments = bulk_assignment_params
  ::ForemanAnsibleDirector::AssignmentService.create_bulk_assignments(
    assignments: assignments
  )
end

#assignmentsObject

endregion



31
32
33
34
35
36
37
38
# File 'app/controllers/foreman_ansible_director/api/v2/assignments_controller.rb', line 31

def assignments
  target = ::ForemanAnsibleDirector::AssignmentService.find_target(
    target_type: params[:target],
    target_id: params[:target_id]
  )
  # TODO: Null check target
  @assignments = target.resolved_ansible_content
end

#destroyObject

endregion



176
177
178
# File 'app/controllers/foreman_ansible_director/api/v2/assignments_controller.rb', line 176

def destroy
  ::ForemanAnsibleDirector::AssignmentService.destroy_assignment(@assignment)
end