diff --git a/Makefile b/Makefile index e0bed8b8b2..6148cc1177 100644 --- a/Makefile +++ b/Makefile @@ -187,6 +187,7 @@ codegen: kops-gobindata PATH=${GOPATH_1ST}/bin:${PATH} go generate k8s.io/kops/upup/pkg/fi/cloudup/awstasks PATH=${GOPATH_1ST}/bin:${PATH} go generate k8s.io/kops/upup/pkg/fi/cloudup/gcetasks PATH=${GOPATH_1ST}/bin:${PATH} go generate k8s.io/kops/upup/pkg/fi/cloudup/dotasks + PATH=${GOPATH_1ST}/bin:${PATH} go generate k8s.io/kops/upup/pkg/fi/cloudup/openstacktasks PATH=${GOPATH_1ST}/bin:${PATH} go generate k8s.io/kops/upup/pkg/fi/assettasks PATH=${GOPATH_1ST}/bin:${PATH} go generate k8s.io/kops/upup/pkg/fi/fitasks diff --git a/upup/pkg/fi/cloudup/openstacktasks/volume.go b/upup/pkg/fi/cloudup/openstacktasks/volume.go index f3c001c2f3..a5bbc07223 100644 --- a/upup/pkg/fi/cloudup/openstacktasks/volume.go +++ b/upup/pkg/fi/cloudup/openstacktasks/volume.go @@ -25,6 +25,7 @@ import ( "k8s.io/kops/upup/pkg/fi/cloudup/openstack" ) +//go:generate fitask -type=Volume type Volume struct { ID *string Name *string diff --git a/upup/pkg/fi/cloudup/openstacktasks/volume_fitask.go b/upup/pkg/fi/cloudup/openstacktasks/volume_fitask.go new file mode 100644 index 0000000000..7c20bb55f6 --- /dev/null +++ b/upup/pkg/fi/cloudup/openstacktasks/volume_fitask.go @@ -0,0 +1,70 @@ +/* +Copyright 2016 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by ""fitask" -type=Volume"; DO NOT EDIT + +package openstacktasks + +import ( + "encoding/json" + + "k8s.io/kops/upup/pkg/fi" +) + +// Volume + +// JSON marshalling boilerplate +type realVolume Volume + +// UnmarshalJSON implements conversion to JSON, supporitng an alternate specification of the object as a string +func (o *Volume) UnmarshalJSON(data []byte) error { + var jsonName string + if err := json.Unmarshal(data, &jsonName); err == nil { + o.Name = &jsonName + return nil + } + + var r realVolume + if err := json.Unmarshal(data, &r); err != nil { + return err + } + *o = Volume(r) + return nil +} + +var _ fi.HasLifecycle = &Volume{} + +// GetLifecycle returns the Lifecycle of the object, implementing fi.HasLifecycle +func (o *Volume) GetLifecycle() *fi.Lifecycle { + return o.Lifecycle +} + +var _ fi.HasName = &Volume{} + +// GetName returns the Name of the object, implementing fi.HasName +func (o *Volume) GetName() *string { + return o.Name +} + +// SetName sets the Name of the object, implementing fi.SetName +func (o *Volume) SetName(name string) { + o.Name = &name +} + +// String is the stringer function for the task, producing readable output using fi.TaskAsString +func (o *Volume) String() string { + return fi.TaskAsString(o) +}