Skip to content

Commit 0495069

Browse files
Merge branch 'master' into ceng-569-terraform-repo-privileges-safeguard
2 parents f879871 + a2cacae commit 0495069

File tree

7 files changed

+799
-17
lines changed

7 files changed

+799
-17
lines changed

cloudsmith/resource_repository_retention_rule.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ func resourceRepoRetentionRule() *schema.Resource {
174174
Type: schema.TypeInt,
175175
Optional: true,
176176
Default: 28,
177-
Description: "The number of days of packages to retain. Must be between 0 and 180.",
177+
Description: "The number of days of packages to retain. Must be between 0 and 180. Defaults to 28 days.",
178178
ValidateFunc: validation.IntBetween(0, 180),
179179
},
180180
"retention_enabled": {

cloudsmith/resource_repository_upstream.go

Lines changed: 233 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,24 @@ import (
1414

1515
// upstream types
1616
const (
17-
Composer = "composer"
18-
Cran = "cran"
19-
Dart = "dart"
20-
Deb = "deb"
21-
Docker = "docker"
22-
Helm = "helm"
23-
Maven = "maven"
24-
Npm = "npm"
25-
NuGet = "nuget"
26-
Python = "python"
27-
Rpm = "rpm"
28-
Ruby = "ruby"
29-
Swift = "swift"
17+
Cargo = "cargo"
18+
Composer = "composer"
19+
Conda = "conda"
20+
Cran = "cran"
21+
Dart = "dart"
22+
Deb = "deb"
23+
Docker = "docker"
24+
Go = "go"
25+
Helm = "helm"
26+
Hex = "hex"
27+
HuggingFace = "huggingface"
28+
Maven = "maven"
29+
Npm = "npm"
30+
NuGet = "nuget"
31+
Python = "python"
32+
Rpm = "rpm"
33+
Ruby = "ruby"
34+
Swift = "swift"
3035
)
3136

3237
// tf state prop names
@@ -66,12 +71,17 @@ var (
6671
"Cache Only",
6772
}
6873
upstreamTypes = []string{
74+
Cargo,
6975
Composer,
76+
Conda,
7077
Cran,
7178
Dart,
7279
Deb,
7380
Docker,
81+
Go,
7482
Helm,
83+
Hex,
84+
HuggingFace,
7585
Maven,
7686
Npm,
7787
NuGet,
@@ -184,6 +194,24 @@ func resourceRepositoryUpstreamCreate(d *schema.ResourceData, m interface{}) err
184194
var err error
185195

186196
switch upstreamType {
197+
case Cargo:
198+
req := pc.APIClient.ReposApi.ReposUpstreamCargoCreate(pc.Auth, namespace, repository)
199+
req = req.Data(cloudsmith.CargoUpstreamRequest{
200+
AuthMode: authMode,
201+
AuthSecret: authSecret,
202+
AuthUsername: authUsername,
203+
ExtraHeader1: extraHeader1,
204+
ExtraHeader2: extraHeader2,
205+
ExtraValue1: extraValue1,
206+
ExtraValue2: extraValue2,
207+
IsActive: isActive,
208+
Mode: mode,
209+
Name: name,
210+
Priority: priority,
211+
UpstreamUrl: upstreamUrl,
212+
VerifySsl: verifySsl,
213+
})
214+
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamCargoCreateExecute(req)
187215
case Composer:
188216
req := pc.APIClient.ReposApi.ReposUpstreamComposerCreate(pc.Auth, namespace, repository)
189217
req = req.Data(cloudsmith.ComposerUpstreamRequest{
@@ -202,6 +230,24 @@ func resourceRepositoryUpstreamCreate(d *schema.ResourceData, m interface{}) err
202230
VerifySsl: verifySsl,
203231
})
204232
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamComposerCreateExecute(req)
233+
case Conda:
234+
req := pc.APIClient.ReposApi.ReposUpstreamCondaCreate(pc.Auth, namespace, repository)
235+
req = req.Data(cloudsmith.CondaUpstreamRequest{
236+
AuthMode: authMode,
237+
AuthSecret: authSecret,
238+
AuthUsername: authUsername,
239+
ExtraHeader1: extraHeader1,
240+
ExtraHeader2: extraHeader2,
241+
ExtraValue1: extraValue1,
242+
ExtraValue2: extraValue2,
243+
IsActive: isActive,
244+
Mode: mode,
245+
Name: name,
246+
Priority: priority,
247+
UpstreamUrl: upstreamUrl,
248+
VerifySsl: verifySsl,
249+
})
250+
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamCondaCreateExecute(req)
205251
case Cran:
206252
req := pc.APIClient.ReposApi.ReposUpstreamCranCreate(pc.Auth, namespace, repository)
207253
req = req.Data(cloudsmith.CranUpstreamRequest{
@@ -295,6 +341,24 @@ func resourceRepositoryUpstreamCreate(d *schema.ResourceData, m interface{}) err
295341
}
296342
return execErr
297343
}
344+
case Go:
345+
req := pc.APIClient.ReposApi.ReposUpstreamGoCreate(pc.Auth, namespace, repository)
346+
req = req.Data(cloudsmith.GoUpstreamRequest{
347+
AuthMode: authMode,
348+
AuthSecret: authSecret,
349+
AuthUsername: authUsername,
350+
ExtraHeader1: extraHeader1,
351+
ExtraHeader2: extraHeader2,
352+
ExtraValue1: extraValue1,
353+
ExtraValue2: extraValue2,
354+
IsActive: isActive,
355+
Mode: mode,
356+
Name: name,
357+
Priority: priority,
358+
UpstreamUrl: upstreamUrl,
359+
VerifySsl: verifySsl,
360+
})
361+
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamGoCreateExecute(req)
298362
case Helm:
299363
req := pc.APIClient.ReposApi.ReposUpstreamHelmCreate(pc.Auth, namespace, repository)
300364
req = req.Data(cloudsmith.HelmUpstreamRequest{
@@ -313,6 +377,42 @@ func resourceRepositoryUpstreamCreate(d *schema.ResourceData, m interface{}) err
313377
VerifySsl: verifySsl,
314378
})
315379
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamHelmCreateExecute(req)
380+
case Hex:
381+
req := pc.APIClient.ReposApi.ReposUpstreamHexCreate(pc.Auth, namespace, repository)
382+
req = req.Data(cloudsmith.HexUpstreamRequest{
383+
AuthMode: authMode,
384+
AuthSecret: authSecret,
385+
AuthUsername: authUsername,
386+
ExtraHeader1: extraHeader1,
387+
ExtraHeader2: extraHeader2,
388+
ExtraValue1: extraValue1,
389+
ExtraValue2: extraValue2,
390+
IsActive: isActive,
391+
Mode: mode,
392+
Name: name,
393+
Priority: priority,
394+
UpstreamUrl: upstreamUrl,
395+
VerifySsl: verifySsl,
396+
})
397+
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamHexCreateExecute(req)
398+
case HuggingFace:
399+
req := pc.APIClient.ReposApi.ReposUpstreamHuggingfaceCreate(pc.Auth, namespace, repository)
400+
req = req.Data(cloudsmith.HuggingfaceUpstreamRequest{
401+
AuthMode: authMode,
402+
AuthSecret: authSecret,
403+
AuthUsername: authUsername,
404+
ExtraHeader1: extraHeader1,
405+
ExtraHeader2: extraHeader2,
406+
ExtraValue1: extraValue1,
407+
ExtraValue2: extraValue2,
408+
IsActive: isActive,
409+
Mode: mode,
410+
Name: name,
411+
Priority: priority,
412+
UpstreamUrl: upstreamUrl,
413+
VerifySsl: verifySsl,
414+
})
415+
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamHuggingfaceCreateExecute(req)
316416
case Maven:
317417
req := pc.APIClient.ReposApi.ReposUpstreamMavenCreate(pc.Auth, namespace, repository)
318418
req = req.Data(cloudsmith.MavenUpstreamRequest{
@@ -483,9 +583,15 @@ func getUpstream(d *schema.ResourceData, m interface{}) (Upstream, *http.Respons
483583
var upstream Upstream
484584

485585
switch upstreamType {
586+
case Cargo:
587+
req := pc.APIClient.ReposApi.ReposUpstreamCargoRead(pc.Auth, namespace, repository, d.Id())
588+
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamCargoReadExecute(req)
486589
case Composer:
487590
req := pc.APIClient.ReposApi.ReposUpstreamComposerRead(pc.Auth, namespace, repository, d.Id())
488591
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamComposerReadExecute(req)
592+
case Conda:
593+
req := pc.APIClient.ReposApi.ReposUpstreamCondaRead(pc.Auth, namespace, repository, d.Id())
594+
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamCondaReadExecute(req)
489595
case Cran:
490596
req := pc.APIClient.ReposApi.ReposUpstreamCranRead(pc.Auth, namespace, repository, d.Id())
491597
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamCranReadExecute(req)
@@ -498,9 +604,18 @@ func getUpstream(d *schema.ResourceData, m interface{}) (Upstream, *http.Respons
498604
case Docker:
499605
req := pc.APIClient.ReposApi.ReposUpstreamDockerRead(pc.Auth, namespace, repository, d.Id())
500606
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamDockerReadExecute(req)
607+
case Go:
608+
req := pc.APIClient.ReposApi.ReposUpstreamGoRead(pc.Auth, namespace, repository, d.Id())
609+
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamGoReadExecute(req)
501610
case Helm:
502611
req := pc.APIClient.ReposApi.ReposUpstreamHelmRead(pc.Auth, namespace, repository, d.Id())
503612
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamHelmReadExecute(req)
613+
case Hex:
614+
req := pc.APIClient.ReposApi.ReposUpstreamHexRead(pc.Auth, namespace, repository, d.Id())
615+
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamHexReadExecute(req)
616+
case HuggingFace:
617+
req := pc.APIClient.ReposApi.ReposUpstreamHuggingfaceRead(pc.Auth, namespace, repository, d.Id())
618+
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamHuggingfaceReadExecute(req)
504619
case Maven:
505620
req := pc.APIClient.ReposApi.ReposUpstreamMavenRead(pc.Auth, namespace, repository, d.Id())
506621
upstream, resp, err = pc.APIClient.ReposApi.ReposUpstreamMavenReadExecute(req)
@@ -616,6 +731,24 @@ func resourceRepositoryUpstreamUpdate(d *schema.ResourceData, m interface{}) err
616731
var err error
617732

618733
switch upstreamType {
734+
case Cargo:
735+
req := pc.APIClient.ReposApi.ReposUpstreamCargoUpdate(pc.Auth, namespace, repository, slugPerm)
736+
req = req.Data(cloudsmith.CargoUpstreamRequest{
737+
AuthMode: authMode,
738+
AuthSecret: authSecret,
739+
AuthUsername: authUsername,
740+
ExtraHeader1: extraHeader1,
741+
ExtraHeader2: extraHeader2,
742+
ExtraValue1: extraValue1,
743+
ExtraValue2: extraValue2,
744+
IsActive: isActive,
745+
Mode: mode,
746+
Name: name,
747+
Priority: priority,
748+
UpstreamUrl: upstreamUrl,
749+
VerifySsl: verifySsl,
750+
})
751+
upstream, _, err = pc.APIClient.ReposApi.ReposUpstreamCargoUpdateExecute(req)
619752
case Composer:
620753
req := pc.APIClient.ReposApi.ReposUpstreamComposerUpdate(pc.Auth, namespace, repository, slugPerm)
621754
req = req.Data(cloudsmith.ComposerUpstreamRequest{
@@ -634,6 +767,24 @@ func resourceRepositoryUpstreamUpdate(d *schema.ResourceData, m interface{}) err
634767
VerifySsl: verifySsl,
635768
})
636769
upstream, _, err = pc.APIClient.ReposApi.ReposUpstreamComposerUpdateExecute(req)
770+
case Conda:
771+
req := pc.APIClient.ReposApi.ReposUpstreamCondaUpdate(pc.Auth, namespace, repository, slugPerm)
772+
req = req.Data(cloudsmith.CondaUpstreamRequest{
773+
AuthMode: authMode,
774+
AuthSecret: authSecret,
775+
AuthUsername: authUsername,
776+
ExtraHeader1: extraHeader1,
777+
ExtraHeader2: extraHeader2,
778+
ExtraValue1: extraValue1,
779+
ExtraValue2: extraValue2,
780+
IsActive: isActive,
781+
Mode: mode,
782+
Name: name,
783+
Priority: priority,
784+
UpstreamUrl: upstreamUrl,
785+
VerifySsl: verifySsl,
786+
})
787+
upstream, _, err = pc.APIClient.ReposApi.ReposUpstreamCondaUpdateExecute(req)
637788
case Cran:
638789
req := pc.APIClient.ReposApi.ReposUpstreamCranUpdate(pc.Auth, namespace, repository, slugPerm)
639790
req = req.Data(cloudsmith.CranUpstreamRequest{
@@ -723,6 +874,24 @@ func resourceRepositoryUpstreamUpdate(d *schema.ResourceData, m interface{}) err
723874
if execErr != nil {
724875
return execErr
725876
}
877+
case Go:
878+
req := pc.APIClient.ReposApi.ReposUpstreamGoUpdate(pc.Auth, namespace, repository, slugPerm)
879+
req = req.Data(cloudsmith.GoUpstreamRequest{
880+
AuthMode: authMode,
881+
AuthSecret: authSecret,
882+
AuthUsername: authUsername,
883+
ExtraHeader1: extraHeader1,
884+
ExtraHeader2: extraHeader2,
885+
ExtraValue1: extraValue1,
886+
ExtraValue2: extraValue2,
887+
IsActive: isActive,
888+
Mode: mode,
889+
Name: name,
890+
Priority: priority,
891+
UpstreamUrl: upstreamUrl,
892+
VerifySsl: verifySsl,
893+
})
894+
upstream, _, err = pc.APIClient.ReposApi.ReposUpstreamGoUpdateExecute(req)
726895
case Helm:
727896
req := pc.APIClient.ReposApi.ReposUpstreamHelmUpdate(pc.Auth, namespace, repository, slugPerm)
728897
req = req.Data(cloudsmith.HelmUpstreamRequest{
@@ -741,6 +910,42 @@ func resourceRepositoryUpstreamUpdate(d *schema.ResourceData, m interface{}) err
741910
VerifySsl: verifySsl,
742911
})
743912
upstream, _, err = pc.APIClient.ReposApi.ReposUpstreamHelmUpdateExecute(req)
913+
case Hex:
914+
req := pc.APIClient.ReposApi.ReposUpstreamHexUpdate(pc.Auth, namespace, repository, slugPerm)
915+
req = req.Data(cloudsmith.HexUpstreamRequest{
916+
AuthMode: authMode,
917+
AuthSecret: authSecret,
918+
AuthUsername: authUsername,
919+
ExtraHeader1: extraHeader1,
920+
ExtraHeader2: extraHeader2,
921+
ExtraValue1: extraValue1,
922+
ExtraValue2: extraValue2,
923+
IsActive: isActive,
924+
Mode: mode,
925+
Name: name,
926+
Priority: priority,
927+
UpstreamUrl: upstreamUrl,
928+
VerifySsl: verifySsl,
929+
})
930+
upstream, _, err = pc.APIClient.ReposApi.ReposUpstreamHexUpdateExecute(req)
931+
case HuggingFace:
932+
req := pc.APIClient.ReposApi.ReposUpstreamHuggingfaceUpdate(pc.Auth, namespace, repository, slugPerm)
933+
req = req.Data(cloudsmith.HuggingfaceUpstreamRequest{
934+
AuthMode: authMode,
935+
AuthSecret: authSecret,
936+
AuthUsername: authUsername,
937+
ExtraHeader1: extraHeader1,
938+
ExtraHeader2: extraHeader2,
939+
ExtraValue1: extraValue1,
940+
ExtraValue2: extraValue2,
941+
IsActive: isActive,
942+
Mode: mode,
943+
Name: name,
944+
Priority: priority,
945+
UpstreamUrl: upstreamUrl,
946+
VerifySsl: verifySsl,
947+
})
948+
upstream, _, err = pc.APIClient.ReposApi.ReposUpstreamHuggingfaceUpdateExecute(req)
744949
case Maven:
745950
req := pc.APIClient.ReposApi.ReposUpstreamMavenUpdate(pc.Auth, namespace, repository, slugPerm)
746951
req = req.Data(cloudsmith.MavenUpstreamRequest{
@@ -905,9 +1110,15 @@ func resourceRepositoryUpstreamDelete(d *schema.ResourceData, m interface{}) err
9051110
var err error
9061111

9071112
switch upstreamType {
1113+
case Cargo:
1114+
req := pc.APIClient.ReposApi.ReposUpstreamCargoDelete(pc.Auth, namespace, repository, d.Id())
1115+
_, err = pc.APIClient.ReposApi.ReposUpstreamCargoDeleteExecute(req)
9081116
case Composer:
9091117
req := pc.APIClient.ReposApi.ReposUpstreamComposerDelete(pc.Auth, namespace, repository, d.Id())
9101118
_, err = pc.APIClient.ReposApi.ReposUpstreamComposerDeleteExecute(req)
1119+
case Conda:
1120+
req := pc.APIClient.ReposApi.ReposUpstreamCondaDelete(pc.Auth, namespace, repository, d.Id())
1121+
_, err = pc.APIClient.ReposApi.ReposUpstreamCondaDeleteExecute(req)
9111122
case Cran:
9121123
req := pc.APIClient.ReposApi.ReposUpstreamCranDelete(pc.Auth, namespace, repository, d.Id())
9131124
_, err = pc.APIClient.ReposApi.ReposUpstreamCranDeleteExecute(req)
@@ -920,9 +1131,18 @@ func resourceRepositoryUpstreamDelete(d *schema.ResourceData, m interface{}) err
9201131
case Docker:
9211132
req := pc.APIClient.ReposApi.ReposUpstreamDockerDelete(pc.Auth, namespace, repository, d.Id())
9221133
_, err = pc.APIClient.ReposApi.ReposUpstreamDockerDeleteExecute(req)
1134+
case Go:
1135+
req := pc.APIClient.ReposApi.ReposUpstreamGoDelete(pc.Auth, namespace, repository, d.Id())
1136+
_, err = pc.APIClient.ReposApi.ReposUpstreamGoDeleteExecute(req)
9231137
case Helm:
9241138
req := pc.APIClient.ReposApi.ReposUpstreamHelmDelete(pc.Auth, namespace, repository, d.Id())
9251139
_, err = pc.APIClient.ReposApi.ReposUpstreamHelmDeleteExecute(req)
1140+
case Hex:
1141+
req := pc.APIClient.ReposApi.ReposUpstreamHexDelete(pc.Auth, namespace, repository, d.Id())
1142+
_, err = pc.APIClient.ReposApi.ReposUpstreamHexDeleteExecute(req)
1143+
case HuggingFace:
1144+
req := pc.APIClient.ReposApi.ReposUpstreamHuggingfaceDelete(pc.Auth, namespace, repository, d.Id())
1145+
_, err = pc.APIClient.ReposApi.ReposUpstreamHuggingfaceDeleteExecute(req)
9261146
case Maven:
9271147
req := pc.APIClient.ReposApi.ReposUpstreamMavenDelete(pc.Auth, namespace, repository, d.Id())
9281148
_, err = pc.APIClient.ReposApi.ReposUpstreamMavenDeleteExecute(req)

0 commit comments

Comments
 (0)