Sha256: d514500df645a92aa322aa2e7d18a5865d8ecf21a5360bd3a6cb7e10ce21c320

Contents?: true

Size: 1.82 KB

Versions: 74

Compression:

Stored size: 1.82 KB

Contents

module Actions
  module Pulp3
    module Orchestration
      module Repository
        #Used for a different type of uploading where you are importing an entire repository, not a single content unit
        # This workflow involves never actually creating a content unit directly, but instead importing the artifact directly into the repository
        class ImportRepositoryUpload < Pulp3::Abstract
          def plan(repository, smart_proxy, args)
            file = {:filename => args.dig(:unit_key, :name), :sha256 => args.dig(:unit_key, :checksum) }
            sequence do
              upload_href = "/pulp/api/v3/uploads/#{args.dig(:upload_id)}/" if args.dig(:upload_id) && args.dig(:upload_id) != 'duplicate'
              commit_output = plan_action(Pulp3::Repository::CommitUpload,
                                          repository,
                                          smart_proxy,
                                          upload_href,
                                          args.dig(:unit_key, :checksum)).output

              artifact_output = plan_action(Pulp3::Repository::SaveArtifact,
                                            file,
                                            repository,
                                            smart_proxy,
                                            commit_output[:pulp_tasks],
                                            args.dig(:unit_type_id), args).output
              plan_self(:artifact_output => artifact_output)
              plan_action(Pulp3::Repository::SaveVersion, repository, tasks: artifact_output[:pulp_tasks])
            end
          end

          def run
            output[:content_unit_href] = input[:artifact_output][:content_unit_href] || input[:artifact_output][:pulp_tasks].last[:created_resources].first
          end
        end
      end
    end
  end
end

Version data entries

74 entries across 74 versions & 1 rubygems

Version Path
katello-4.16.0 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.15.1 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.16.0.rc2 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.16.0.rc1 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.14.3 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.14.2 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.15.0 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.15.0.rc2 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.15.0.rc1 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.14.1 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.14.0 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.14.0.rc3 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.14.0.rc2 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.14.0.rc1.1 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.14.0.rc1 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.13.1 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.13.0 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.12.1 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.13.0.rc1 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb
katello-4.12.0 app/lib/actions/pulp3/orchestration/repository/import_repository_upload.rb