当前位置: 首页>>代码示例>>Golang>>正文


Golang GroupVersion.IsEmpty方法代码示例

本文整理汇总了Golang中github.com/jordic/k8s/cloudsqlip/Godeps/_workspace/src/k8s/io/kubernetes/pkg/api/unversioned.GroupVersion.IsEmpty方法的典型用法代码示例。如果您正苦于以下问题:Golang GroupVersion.IsEmpty方法的具体用法?Golang GroupVersion.IsEmpty怎么用?Golang GroupVersion.IsEmpty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/jordic/k8s/cloudsqlip/Godeps/_workspace/src/k8s/io/kubernetes/pkg/api/unversioned.GroupVersion的用法示例。


在下文中一共展示了GroupVersion.IsEmpty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: DecodeToVersion

// DecodeToVersion converts a JSON string back into a pointer to an api object.
// Deduces the type based upon the fields added by the MetaInsertionFactory
// technique. The object will be converted, if necessary, into the versioned
// type before being returned. Decode will not decode objects without version
// set unless version is also "".
// a GroupVersion with .IsEmpty() == true is means "use the internal version for
// the object's group"
func (s *Scheme) DecodeToVersion(data []byte, gv unversioned.GroupVersion) (interface{}, error) {
	obj, sourceVersion, kind, err := s.DecodeToVersionedObject(data)
	if err != nil {
		return nil, err
	}
	// Version and Kind should be blank in memory.
	if err := s.SetVersionAndKind("", "", obj); err != nil {
		return nil, err
	}

	sourceGV, err := unversioned.ParseGroupVersion(sourceVersion)
	if err != nil {
		return nil, err
	}

	// if the gv is empty, then we want the internal version, but the internal version varies by
	// group.  We can lookup the group now because we have knowledge of the group
	if gv.IsEmpty() {
		exists := false
		gv, exists = s.InternalVersions[sourceGV.Group]
		if !exists {
			return nil, fmt.Errorf("no internalVersion specified for %v", gv)
		}
	}

	// Convert if needed.
	if gv != sourceGV {
		objOut, err := s.NewObject(gv.String(), kind)
		if err != nil {
			return nil, err
		}
		flags, meta := s.generateConvertMeta(sourceVersion, gv.String(), obj)
		if err := s.converter.Convert(obj, objOut, flags, meta); err != nil {
			return nil, err
		}
		obj = objOut
	}
	return obj, nil
}
开发者ID:jordic,项目名称:k8s,代码行数:46,代码来源:decode.go


注:本文中的github.com/jordic/k8s/cloudsqlip/Godeps/_workspace/src/k8s/io/kubernetes/pkg/api/unversioned.GroupVersion.IsEmpty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。