Skip to content

Commit

Permalink
Add ConfigurationScriptSource and Payload classes
Browse files Browse the repository at this point in the history
  • Loading branch information
agrare committed Feb 13, 2024
1 parent 8805e12 commit a894908
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class ManageIQ::Providers::EmbeddedTerraform::AutomationManager::ConfigurationScriptPayload < ManageIQ::Providers::EmbeddedAutomationManager::ConfigurationScriptPayload
has_many :jobs, :class_name => 'OrchestrationStack', :foreign_key => :configuration_script_base_id

def run(vars = {}, _userid = nil)
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
class ManageIQ::Providers::EmbeddedTerraform::AutomationManager::ConfigurationScriptSource < ManageIQ::Providers::EmbeddedAutomationManager::ConfigurationScriptSource
FRIENDLY_NAME = "Embedded Terraform Repository".freeze

def self.display_name(number = 1)
n_('Repository (Embedded Terraform)', 'Repositories (Embedded Terraform)', number)
end

def sync
update!(:status => "running")

transaction do
current = configuration_script_payloads.index_by(&:name)

git_repository.update_repo
git_repository.with_worktree do |worktree|
worktree.ref = scm_branch
worktree.blob_list.each do |filename|
next if filename.start_with?(".") || !filename.end_with?(".tf")

payload = worktree.read_file(filename)
found = current.delete(filename) || self.class.module_parent::ConfigurationScriptPayload.new(:configuration_script_source_id => id)

found.update!(:name => filename, :manager_id => manager_id, :payload => payload, :payload_type => "json")
end
end

current.values.each(&:destroy)
configuration_script_payloads.reload
end

update!(:status => "successful", :last_updated_on => Time.zone.now, :last_update_error => nil)
rescue => error
update!(:status => "error", :last_updated_on => Time.zone.now, :last_update_error => error)
raise error
end
end

0 comments on commit a894908

Please sign in to comment.