fix(pkger): fix missing API version in export of existing resources
parent
63fd1e2e9a
commit
234c458fa0
|
|
@ -92,8 +92,9 @@ func TestCmdPkg(t *testing.T) {
|
|||
|
||||
var pkg pkger.Pkg
|
||||
pkg.Objects = append(pkg.Objects, pkger.Object{
|
||||
Type: pkger.KindBucket,
|
||||
Metadata: pkger.Metadata{Name: "bucket1"},
|
||||
APIVersion: pkger.APIVersion,
|
||||
Type: pkger.KindBucket,
|
||||
Metadata: pkger.Metadata{Name: "bucket1"},
|
||||
})
|
||||
return &pkg, nil
|
||||
},
|
||||
|
|
@ -207,8 +208,9 @@ func TestCmdPkg(t *testing.T) {
|
|||
}
|
||||
name := rc.Kind.String() + strconv.Itoa(int(rc.ID))
|
||||
pkg.Objects = append(pkg.Objects, pkger.Object{
|
||||
Type: rc.Kind,
|
||||
Metadata: pkger.Metadata{Name: name},
|
||||
APIVersion: pkger.APIVersion,
|
||||
Type: rc.Kind,
|
||||
Metadata: pkger.Metadata{Name: name},
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,9 +62,10 @@ func bucketToObject(bkt influxdb.Bucket, name string) Object {
|
|||
name = bkt.Name
|
||||
}
|
||||
k := Object{
|
||||
Type: KindBucket,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: make(Resource),
|
||||
APIVersion: APIVersion,
|
||||
Type: KindBucket,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: make(Resource),
|
||||
}
|
||||
assignNonZeroStrings(k.Spec, map[string]string{fieldDescription: bkt.Description})
|
||||
if bkt.RetentionPeriod != 0 {
|
||||
|
|
@ -78,7 +79,8 @@ func checkToObject(ch influxdb.Check, name string) Object {
|
|||
name = ch.GetName()
|
||||
}
|
||||
k := Object{
|
||||
Metadata: Metadata{Name: name},
|
||||
APIVersion: APIVersion,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: Resource{
|
||||
fieldStatus: influxdb.TaskStatusActive,
|
||||
},
|
||||
|
|
@ -381,8 +383,9 @@ func DashboardToObject(dash influxdb.Dashboard, name string) Object {
|
|||
}
|
||||
|
||||
return Object{
|
||||
Type: KindDashboard,
|
||||
Metadata: Metadata{Name: name},
|
||||
APIVersion: APIVersion,
|
||||
Type: KindDashboard,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: Resource{
|
||||
fieldDescription: dash.Description,
|
||||
fieldDashCharts: charts,
|
||||
|
|
@ -395,9 +398,10 @@ func labelToObject(l influxdb.Label, name string) Object {
|
|||
name = l.Name
|
||||
}
|
||||
k := Object{
|
||||
Type: KindLabel,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: make(Resource),
|
||||
APIVersion: APIVersion,
|
||||
Type: KindLabel,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: make(Resource),
|
||||
}
|
||||
|
||||
assignNonZeroStrings(k.Spec, map[string]string{
|
||||
|
|
@ -412,8 +416,9 @@ func endpointKind(e influxdb.NotificationEndpoint, name string) Object {
|
|||
name = e.GetName()
|
||||
}
|
||||
k := Object{
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: make(Resource),
|
||||
APIVersion: APIVersion,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: make(Resource),
|
||||
}
|
||||
assignNonZeroStrings(k.Spec, map[string]string{
|
||||
fieldDescription: e.GetDescription(),
|
||||
|
|
@ -453,8 +458,9 @@ func ruleToObject(iRule influxdb.NotificationRule, endpointName, name string) Ob
|
|||
name = iRule.GetName()
|
||||
}
|
||||
k := Object{
|
||||
Type: KindNotificationRule,
|
||||
Metadata: Metadata{Name: name},
|
||||
APIVersion: APIVersion,
|
||||
Type: KindNotificationRule,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: Resource{
|
||||
fieldNotificationRuleEndpointName: endpointName,
|
||||
},
|
||||
|
|
@ -522,8 +528,9 @@ func taskToObject(t influxdb.Task, name string) Object {
|
|||
query := strings.TrimSpace(taskFluxRegex.ReplaceAllString(t.Flux, ""))
|
||||
|
||||
k := Object{
|
||||
Type: KindTask,
|
||||
Metadata: Metadata{Name: name},
|
||||
APIVersion: APIVersion,
|
||||
Type: KindTask,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: Resource{
|
||||
fieldQuery: query,
|
||||
},
|
||||
|
|
@ -542,8 +549,9 @@ func telegrafToObject(t influxdb.TelegrafConfig, name string) Object {
|
|||
name = t.Name
|
||||
}
|
||||
k := Object{
|
||||
Type: KindTelegraf,
|
||||
Metadata: Metadata{Name: name},
|
||||
APIVersion: APIVersion,
|
||||
Type: KindTelegraf,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: Resource{
|
||||
fieldTelegrafConfig: t.Config,
|
||||
},
|
||||
|
|
@ -561,9 +569,10 @@ func VariableToObject(v influxdb.Variable, name string) Object {
|
|||
}
|
||||
|
||||
k := Object{
|
||||
Type: KindVariable,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: make(Resource),
|
||||
APIVersion: APIVersion,
|
||||
Type: KindVariable,
|
||||
Metadata: Metadata{Name: name},
|
||||
Spec: make(Resource),
|
||||
}
|
||||
assignNonZeroStrings(k.Spec, map[string]string{fieldDescription: v.Description})
|
||||
|
||||
|
|
|
|||
|
|
@ -767,6 +767,7 @@ type SummaryVariable struct {
|
|||
}
|
||||
|
||||
const (
|
||||
fieldAPIVersion = "apiVersion"
|
||||
fieldAssociations = "associations"
|
||||
fieldDescription = "description"
|
||||
fieldEvery = "every"
|
||||
|
|
|
|||
|
|
@ -952,7 +952,7 @@ func (p *Pkg) eachResource(resourceKind Kind, minNameLen int, fn func(r Object)
|
|||
Idx: intPtr(i),
|
||||
ValidationErrs: []validationErr{
|
||||
{
|
||||
Field: "kind",
|
||||
Field: fieldKind,
|
||||
Msg: err.Error(),
|
||||
},
|
||||
},
|
||||
|
|
@ -963,6 +963,20 @@ func (p *Pkg) eachResource(resourceKind Kind, minNameLen int, fn func(r Object)
|
|||
continue
|
||||
}
|
||||
|
||||
if k.APIVersion != APIVersion {
|
||||
pErr.append(resourceErr{
|
||||
Kind: k.Type.String(),
|
||||
Idx: intPtr(i),
|
||||
ValidationErrs: []validationErr{
|
||||
{
|
||||
Field: fieldAPIVersion,
|
||||
Msg: fmt.Sprintf("invalid API version provided %q; must be 1 in [%s]", k.APIVersion, APIVersion),
|
||||
},
|
||||
},
|
||||
})
|
||||
continue
|
||||
}
|
||||
|
||||
if len(k.Name()) < minNameLen {
|
||||
pErr.append(resourceErr{
|
||||
Kind: k.Type.String(),
|
||||
|
|
|
|||
Loading…
Reference in New Issue