github.com/Cloud-Foundations/Dominator@v0.3.4/imagebuilder/rpcd/disable.go (about)

     1  package rpcd
     2  
     3  import (
     4  	"time"
     5  
     6  	"github.com/Cloud-Foundations/Dominator/lib/format"
     7  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     8  	proto "github.com/Cloud-Foundations/Dominator/proto/imaginator"
     9  )
    10  
    11  func (t *srpcType) DisableAutoBuilds(conn *srpc.Conn,
    12  	request proto.DisableAutoBuildsRequest,
    13  	reply *proto.DisableAutoBuildsResponse) error {
    14  	disabledUntil, err := t.builder.DisableAutoBuilds(request.DisableFor)
    15  	if err != nil {
    16  		reply.Error = err.Error()
    17  	} else if authInfo := conn.GetAuthInformation(); authInfo != nil {
    18  		reply.DisabledUntil = disabledUntil
    19  		t.logger.Printf(
    20  			"Disable(%s): auto builds until %s (%s)\n",
    21  			authInfo.Username,
    22  			disabledUntil.Format(format.TimeFormatSeconds),
    23  			format.Duration(time.Until(disabledUntil)))
    24  	}
    25  	return nil
    26  }
    27  
    28  func (t *srpcType) DisableBuildRequests(conn *srpc.Conn,
    29  	request proto.DisableBuildRequestsRequest,
    30  	reply *proto.DisableBuildRequestsResponse) error {
    31  	disabledUntil, err := t.builder.DisableBuildRequests(request.DisableFor)
    32  	if err != nil {
    33  		reply.Error = err.Error()
    34  	} else if authInfo := conn.GetAuthInformation(); authInfo != nil {
    35  		reply.DisabledUntil = disabledUntil
    36  		t.logger.Printf(
    37  			"Disable(%s): build requests until %s (%s)\n",
    38  			authInfo.Username,
    39  			disabledUntil.Format(format.TimeFormatSeconds),
    40  			format.Duration(time.Until(disabledUntil)))
    41  	}
    42  	return nil
    43  }