diff --git a/cli/templatecreate.go b/cli/templatecreate.go index 638f790dd811d..5089260c86245 100644 --- a/cli/templatecreate.go +++ b/cli/templatecreate.go @@ -16,10 +16,8 @@ import ( "github.com/coder/coder/v2/cli/clibase" "github.com/coder/coder/v2/cli/cliui" - "github.com/coder/coder/v2/coderd/database" "github.com/coder/coder/v2/coderd/util/ptr" "github.com/coder/coder/v2/codersdk" - "github.com/coder/coder/v2/provisionerd" ) func (r *RootCmd) templateCreate() *clibase.Cmd { @@ -111,7 +109,7 @@ func (r *RootCmd) templateCreate() *clibase.Cmd { Message: message, Client: client, Organization: organization, - Provisioner: database.ProvisionerType(provisioner), + Provisioner: codersdk.ProvisionerType(provisioner), FileID: resp.ID, ProvisionerTags: tags, VariablesFile: variablesFile, @@ -224,7 +222,7 @@ type createValidTemplateVersionArgs struct { Message string Client *codersdk.Client Organization codersdk.Organization - Provisioner database.ProvisionerType + Provisioner codersdk.ProvisionerType FileID uuid.UUID VariablesFile string @@ -258,7 +256,7 @@ func createValidTemplateVersion(inv *clibase.Invocation, args createValidTemplat Message: args.Message, StorageMethod: codersdk.ProvisionerStorageMethodFile, FileID: args.FileID, - Provisioner: codersdk.ProvisionerType(args.Provisioner), + Provisioner: args.Provisioner, ProvisionerTags: args.ProvisionerTags, UserVariableValues: variableValues, } @@ -284,7 +282,10 @@ func createValidTemplateVersion(inv *clibase.Invocation, args createValidTemplat }) if err != nil { var jobErr *cliui.ProvisionerJobError - if errors.As(err, &jobErr) && !provisionerd.IsMissingParameterErrorCode(string(jobErr.Code)) { + if errors.As(err, &jobErr) && !codersdk.JobIsMissingParameterErrorCode(jobErr.Code) { + return nil, err + } + if err != nil { return nil, err } } diff --git a/cli/templatepush.go b/cli/templatepush.go index 7e676780f7a82..66d61375af99b 100644 --- a/cli/templatepush.go +++ b/cli/templatepush.go @@ -13,7 +13,6 @@ import ( "github.com/coder/coder/v2/cli/clibase" "github.com/coder/coder/v2/cli/cliui" - "github.com/coder/coder/v2/coderd/database" "github.com/coder/coder/v2/codersdk" "github.com/coder/coder/v2/provisionersdk" ) @@ -216,7 +215,7 @@ func (r *RootCmd) templatePush() *clibase.Cmd { Message: message, Client: client, Organization: organization, - Provisioner: database.ProvisionerType(provisioner), + Provisioner: codersdk.ProvisionerType(provisioner), FileID: resp.ID, ProvisionerTags: tags, VariablesFile: variablesFile, diff --git a/codersdk/provisionerdaemons.go b/codersdk/provisionerdaemons.go index 4a3e280697f74..4e787c6fe1a7b 100644 --- a/codersdk/provisionerdaemons.go +++ b/codersdk/provisionerdaemons.go @@ -17,6 +17,7 @@ import ( "nhooyr.io/websocket" "github.com/coder/coder/v2/provisionerd/proto" + "github.com/coder/coder/v2/provisionerd/runner" "github.com/coder/coder/v2/provisionersdk" ) @@ -72,6 +73,12 @@ const ( RequiredTemplateVariables JobErrorCode = "REQUIRED_TEMPLATE_VARIABLES" ) +// JobIsMissingParameterErrorCode returns whether the error is a missing parameter error. +// This can indicate to consumers that they should check parameters. +func JobIsMissingParameterErrorCode(code JobErrorCode) bool { + return string(code) == runner.MissingParameterErrorCode +} + // ProvisionerJob describes the job executed by the provisioning daemon. type ProvisionerJob struct { ID uuid.UUID `json:"id" format:"uuid"` diff --git a/provisionerd/provisionerd.go b/provisionerd/provisionerd.go index 81346fa25873b..2d8788ddec561 100644 --- a/provisionerd/provisionerd.go +++ b/provisionerd/provisionerd.go @@ -29,12 +29,6 @@ import ( "github.com/coder/retry" ) -// IsMissingParameterErrorCode returns whether the error is a missing parameter error. -// This can indicate to consumers that they should check parameters. -func IsMissingParameterErrorCode(code string) bool { - return code == runner.MissingParameterErrorCode -} - // Dialer represents the function to create a daemon client connection. type Dialer func(ctx context.Context) (proto.DRPCProvisionerDaemonClient, error)