MCPcopy Create free account
hub / github.com/coder/coder / createTemplateVersion

Method createTemplateVersion

scaletest/dynamicparameters/template.go:220–249  ·  view source on GitHub ↗
(templateID uuid.UUID)

Source from the content-addressed store, hash-verified

218}
219
220func (p *partitioner) createTemplateVersion(templateID uuid.UUID) (codersdk.TemplateVersion, error) {
221 tarData, err := TemplateTarData()
222 if err != nil {
223 return codersdk.TemplateVersion{}, xerrors.Errorf("failed to create template tarball: %w", err)
224 }
225
226 // Upload tarball
227 uploadResp, err := p.client.Upload(p.ctx, codersdk.ContentTypeTar, bytes.NewReader(tarData))
228 if err != nil {
229 return codersdk.TemplateVersion{}, xerrors.Errorf("failed to upload template tar: %w", err)
230 }
231
232 // Create template version
233 versionReq := codersdk.CreateTemplateVersionRequest{
234 TemplateID: templateID,
235 FileID: uploadResp.ID,
236 Message: "Initial version for scaletest dynamic parameters",
237 StorageMethod: codersdk.ProvisionerStorageMethodFile,
238 Provisioner: codersdk.ProvisionerTypeTerraform,
239 ProvisionerTags: p.provisionerTags,
240 }
241 version, err := p.client.CreateTemplateVersion(p.ctx, p.orgID, versionReq)
242 if err != nil {
243 return codersdk.TemplateVersion{}, xerrors.Errorf("failed to create template version: %w", err)
244 }
245 if version.MatchedProvisioners != nil && version.MatchedProvisioners.Count == 0 {
246 return codersdk.TemplateVersion{}, ErrNoProvisionersMatched
247 }
248 return version, nil
249}
250
251func (p *partitioner) waitForTemplateVersionJobs(partitions []Partition) error {
252 const pollInterval = 2 * time.Second

Callers 1

runMethod · 0.95

Calls 4

TemplateTarDataFunction · 0.70
UploadMethod · 0.65
CreateTemplateVersionMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected