resource_remote: add artifactapi_remote_nuget
This commit is contained in:
@@ -66,6 +66,7 @@ Available resource types:
|
||||
- `artifactapi_remote_terraform`
|
||||
- `artifactapi_remote_goproxy`
|
||||
- `artifactapi_remote_cargo`
|
||||
- `artifactapi_remote_nuget`
|
||||
- `artifactapi_remote_github_rpm`
|
||||
- `artifactapi_remote_github_deb`
|
||||
- `artifactapi_remote_github_alpine`
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
artifactapi = {
|
||||
source = "git.unkin.net/unkin/artifactapi"
|
||||
version = "0.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "artifactapi" {
|
||||
endpoint = "https://artifactapi.example.com"
|
||||
}
|
||||
|
||||
# NuGet remote proxies a NuGet v3 feed; base_url is its service index.
|
||||
# Clients use <remote>/index.json as their package source.
|
||||
# The provider knows indexes are mutable; .nupkg downloads are immutable.
|
||||
resource "artifactapi_remote_nuget" "nuget_org" {
|
||||
name = "nuget-org"
|
||||
base_url = "https://api.nuget.org/v3/index.json"
|
||||
description = "nuget.org v3 feed"
|
||||
|
||||
immutable_ttl = 0
|
||||
mutable_ttl = 300
|
||||
}
|
||||
@@ -80,6 +80,7 @@ func (p *ArtifactAPIProvider) Resources(_ context.Context) []func() resource.Res
|
||||
newRemoteResource("terraform"),
|
||||
newRemoteResource("goproxy"),
|
||||
newRemoteResource("cargo"),
|
||||
newRemoteResource("nuget"),
|
||||
newRemoteResource("github_rpm"),
|
||||
newRemoteResource("github_deb"),
|
||||
newRemoteResource("github_alpine"),
|
||||
|
||||
@@ -66,8 +66,8 @@ func TestProvider_Resources(t *testing.T) {
|
||||
p := &ArtifactAPIProvider{version: "1.0.0"}
|
||||
resources := p.Resources(context.Background())
|
||||
|
||||
// 15 remote resource types + 1 virtual + 7 local = 23
|
||||
expectedCount := 23
|
||||
// 16 remote resource types + 1 virtual + 7 local = 24
|
||||
expectedCount := 24
|
||||
if len(resources) != expectedCount {
|
||||
t.Fatalf("expected %d resources, got %d", expectedCount, len(resources))
|
||||
}
|
||||
@@ -108,6 +108,7 @@ func TestProvider_Resources_ContainsExpectedTypes(t *testing.T) {
|
||||
"artifactapi_remote_terraform",
|
||||
"artifactapi_remote_goproxy",
|
||||
"artifactapi_remote_cargo",
|
||||
"artifactapi_remote_nuget",
|
||||
"artifactapi_remote_github_rpm",
|
||||
"artifactapi_remote_github_deb",
|
||||
"artifactapi_remote_github_alpine",
|
||||
|
||||
@@ -83,6 +83,7 @@ func NewRemotePuppet() resource.Resource { return &remoteResource{packageType
|
||||
func NewRemoteTerraform() resource.Resource { return &remoteResource{packageType: "terraform"} }
|
||||
func NewRemoteGoProxy() resource.Resource { return &remoteResource{packageType: "goproxy"} }
|
||||
func NewRemoteCargo() resource.Resource { return &remoteResource{packageType: "cargo"} }
|
||||
func NewRemoteNuGet() resource.Resource { return &remoteResource{packageType: "nuget"} }
|
||||
func NewRemoteGitHubRPM() resource.Resource { return &remoteResource{packageType: "github_rpm"} }
|
||||
func NewRemoteGitHubDeb() resource.Resource { return &remoteResource{packageType: "github_deb"} }
|
||||
func NewRemoteGitHubAlpine() resource.Resource {
|
||||
|
||||
@@ -164,6 +164,7 @@ func TestModelToAPI_PackageTypeFromResource(t *testing.T) {
|
||||
{"terraform"},
|
||||
{"goproxy"},
|
||||
{"cargo"},
|
||||
{"nuget"},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
@@ -526,6 +527,7 @@ func TestNewRemoteResource_Constructors(t *testing.T) {
|
||||
{"terraform", func() resource.Resource { return NewRemoteTerraform() }, "terraform"},
|
||||
{"goproxy", func() resource.Resource { return NewRemoteGoProxy() }, "goproxy"},
|
||||
{"cargo", func() resource.Resource { return NewRemoteCargo() }, "cargo"},
|
||||
{"nuget", func() resource.Resource { return NewRemoteNuGet() }, "nuget"},
|
||||
{"github_rpm", func() resource.Resource { return NewRemoteGitHubRPM() }, "github_rpm"},
|
||||
{"github_deb", func() resource.Resource { return NewRemoteGitHubDeb() }, "github_deb"},
|
||||
{"github_alpine", func() resource.Resource { return NewRemoteGitHubAlpine() }, "github_alpine"},
|
||||
|
||||
Reference in New Issue
Block a user