Sha256: 29e7c3358defbca9e30038892530e99fd8ac11885e0a8bf5c13e3a24003c9078
Contents?: true
Size: 1.31 KB
Versions: 9
Compression:
Stored size: 1.31 KB
Contents
module Actions module SccManager class SyncProducts < Actions::EntryAction def plan(scc_account) action_subject(scc_account) plan_self(id: scc_account.id, base_url: scc_account.base_url, login: scc_account.login, password: scc_account.password) end def run output[:status] = 'SUCCESS' begin products = ::SccManager.get_scc_data(input.fetch(:base_url), '/connect/organizations/products', input.fetch(:login), input.fetch(:password)) output[:data] = ::SccManager.sanitize_products(products).values rescue StandardError output[:status] = 'FAILURE' end end def finalize SccAccount.find(input.fetch(:id)).update_scc_products(output.fetch(:data)) if output[:status] == 'SUCCESS' end def rescue_strategy Dynflow::Action::Rescue::Fail end def humanized_name _('Sync SUSE subscriptions (Products)') end def humanized_input input.dup.update(password: '***') end def humanized_output output.dup.update(data: 'Trimmed') end end end end
Version data entries
9 entries across 9 versions & 1 rubygems