github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/container/promote.go (about)

     1  package container
     2  
     3  import (
     4  	"github.com/jfrog/jfrog-cli-core/v2/artifactory/utils"
     5  	"github.com/jfrog/jfrog-cli-core/v2/utils/config"
     6  	"github.com/jfrog/jfrog-client-go/artifactory/services"
     7  )
     8  
     9  type DockerPromoteCommand struct {
    10  	serverDetails *config.ServerDetails
    11  	params        services.DockerPromoteParams
    12  }
    13  
    14  func NewDockerPromoteCommand() *DockerPromoteCommand {
    15  	return &DockerPromoteCommand{}
    16  }
    17  
    18  func (dp *DockerPromoteCommand) Run() error {
    19  	// Create Service Manager
    20  	servicesManager, err := utils.CreateServiceManager(dp.serverDetails, -1, 0, false)
    21  	if err != nil {
    22  		return err
    23  	}
    24  	// Promote docker
    25  	return servicesManager.PromoteDocker(dp.params)
    26  }
    27  
    28  func (dp *DockerPromoteCommand) CommandName() string {
    29  	return "rt_docker_promote"
    30  }
    31  
    32  func (dp *DockerPromoteCommand) ServerDetails() (*config.ServerDetails, error) {
    33  	return dp.serverDetails, nil
    34  }
    35  
    36  func (dp *DockerPromoteCommand) SetServerDetails(serverDetails *config.ServerDetails) *DockerPromoteCommand {
    37  	dp.serverDetails = serverDetails
    38  	return dp
    39  }
    40  
    41  func (dp *DockerPromoteCommand) SetParams(params services.DockerPromoteParams) *DockerPromoteCommand {
    42  	dp.params = params
    43  	return dp
    44  }