本文整理汇总了Golang中github.com/GoogleCloudPlatform/kubernetes/pkg/conversion.Scope.Convert方法的典型用法代码示例。如果您正苦于以下问题:Golang Scope.Convert方法的具体用法?Golang Scope.Convert怎么用?Golang Scope.Convert使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/GoogleCloudPlatform/kubernetes/pkg/conversion.Scope
的用法示例。
在下文中一共展示了Scope.Convert方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: convert_v1beta3_Image_To_api_Image
func convert_v1beta3_Image_To_api_Image(in *Image, out *newer.Image, s conversion.Scope) error {
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
return err
}
out.DockerImageReference = in.DockerImageReference
out.DockerImageManifest = in.DockerImageManifest
version := in.DockerImageMetadataVersion
if len(version) == 0 {
version = "1.0"
}
if len(in.DockerImageMetadata.RawJSON) > 0 {
// TODO: add a way to default the expected kind and version of an object if not set
obj, err := kapi.Scheme.New(version, "DockerImage")
if err != nil {
return err
}
if err := kapi.Scheme.DecodeInto(in.DockerImageMetadata.RawJSON, obj); err != nil {
return err
}
if err := s.Convert(obj, &out.DockerImageMetadata, 0); err != nil {
return err
}
}
out.DockerImageMetadataVersion = version
return nil
}
示例2: convert_v1beta3_DeploymentTriggerImageChangeParams_To_api_DeploymentTriggerImageChangeParams
func convert_v1beta3_DeploymentTriggerImageChangeParams_To_api_DeploymentTriggerImageChangeParams(in *DeploymentTriggerImageChangeParams, out *newer.DeploymentTriggerImageChangeParams, s conversion.Scope) error {
out.Automatic = in.Automatic
out.ContainerNames = make([]string, len(in.ContainerNames))
copy(out.ContainerNames, in.ContainerNames)
out.LastTriggeredImage = in.LastTriggeredImage
if err := s.Convert(&in.From, &out.From, 0); err != nil {
return err
}
switch in.From.Kind {
case "DockerImage":
ref, err := imageapi.ParseDockerImageReference(in.From.Name)
if err != nil {
return err
}
out.Tag = ref.Tag
ref.Tag, ref.ID = "", ""
out.RepositoryName = ref.String()
case "ImageStreamTag":
name, tag, ok := imageapi.SplitImageStreamTag(in.From.Name)
if !ok {
return fmt.Errorf("ImageStreamTag object references must be in the form <name>:<tag>: %s", in.From.Name)
}
out.From.Kind = "ImageStream"
out.From.Name = name
out.Tag = tag
}
return nil
}
示例3: convert_api_Template_To_v1_Template
func convert_api_Template_To_v1_Template(in *newer.Template, out *Template, s conversion.Scope) error {
//FIXME: DefaultConvert should not overwrite the Labels field on the
// the base object. This is likely a bug in the DefaultConvert
// code. For now, it is called before converting the labels.
if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
return err
}
return s.Convert(&in.ObjectLabels, &out.Labels, 0)
}
示例4: convert_v1_BuildStatus_To_api_Build
func convert_v1_BuildStatus_To_api_Build(in *BuildStatus, out *newer.Build, s conversion.Scope) error {
out.Cancelled = in.Cancelled
out.CompletionTimestamp = in.CompletionTimestamp
if err := s.Convert(&in.Config, &out.Config, 0); err != nil {
return err
}
out.Duration = in.Duration
out.Message = in.Message
out.StartTimestamp = in.StartTimestamp
return nil
}
示例5: convert_api_Route_To_v1_Route
func convert_api_Route_To_v1_Route(in *newer.Route, out *Route, s conversion.Scope) error {
if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
return err
}
out.Spec.Path = in.Path
out.Spec.Host = in.Host
out.Spec.To.Kind = "Service"
out.Spec.To.Name = in.ServiceName
return s.Convert(&in.TLS, &out.Spec.TLS, 0)
}
示例6: convert_v1beta3_Route_To_api_Route
func convert_v1beta3_Route_To_api_Route(in *Route, out *newer.Route, s conversion.Scope) error {
if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
return err
}
out.Path = in.Spec.Path
out.Host = in.Spec.Host
if in.Spec.To.Kind == "Service" || len(in.Spec.To.Kind) == 0 {
out.ServiceName = in.Spec.To.Name
}
return s.Convert(&in.Spec.TLS, &out.TLS, 0)
}
示例7: convert_v1_BuildConfig_To_api_BuildConfig
func convert_v1_BuildConfig_To_api_BuildConfig(in *BuildConfig, out *newer.BuildConfig, s conversion.Scope) error {
if err := s.DefaultConvert(in, out, conversion.IgnoreMissingFields); err != nil {
return err
}
if err := s.Convert(&in.Spec, &out.Parameters, 0); err != nil {
return err
}
if err := s.Convert(&in.Spec.Triggers, &out.Triggers, 0); err != nil {
return err
}
out.LastVersion = in.Status.LastVersion
return nil
}
示例8: convert_api_ImageStreamTag_To_v1beta3_ImageStreamTag
func convert_api_ImageStreamTag_To_v1beta3_ImageStreamTag(in *newer.ImageStreamTag, out *ImageStreamTag, s conversion.Scope) error {
if err := s.Convert(&in.Image, &out.Image, 0); err != nil {
return err
}
if err := s.Convert(&in.Image.ObjectMeta, &out.ObjectMeta, 0); err != nil {
return err
}
out.ImageName = in.Image.Name
out.Name = in.Name
return nil
}
示例9: convert_v1beta3_ServiceSpec_To_api_ServiceSpec
func convert_v1beta3_ServiceSpec_To_api_ServiceSpec(in *ServiceSpec, out *api.ServiceSpec, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*ServiceSpec))(in)
}
if in.Ports != nil {
out.Ports = make([]api.ServicePort, len(in.Ports))
for i := range in.Ports {
if err := convert_v1beta3_ServicePort_To_api_ServicePort(&in.Ports[i], &out.Ports[i], s); err != nil {
return err
}
}
} else {
out.Ports = nil
}
if in.Selector != nil {
out.Selector = make(map[string]string)
for key, val := range in.Selector {
out.Selector[key] = val
}
} else {
out.Selector = nil
}
out.PortalIP = in.PortalIP
typeIn := in.Type
if typeIn == "" {
if in.CreateExternalLoadBalancer {
typeIn = ServiceTypeLoadBalancer
} else {
typeIn = ServiceTypeClusterIP
}
}
if err := s.Convert(&typeIn, &out.Type, 0); err != nil {
return err
}
if in.PublicIPs != nil {
out.DeprecatedPublicIPs = make([]string, len(in.PublicIPs))
for i := range in.PublicIPs {
out.DeprecatedPublicIPs[i] = in.PublicIPs[i]
}
} else {
out.DeprecatedPublicIPs = nil
}
out.SessionAffinity = api.ServiceAffinity(in.SessionAffinity)
return nil
}
示例10: convert_api_PolicyRule_To_v1_PolicyRule
func convert_api_PolicyRule_To_v1_PolicyRule(in *newer.PolicyRule, out *PolicyRule, s conversion.Scope) error {
if err := s.Convert(&in.AttributeRestrictions, &out.AttributeRestrictions, 0); err != nil {
return err
}
out.Resources = []string{}
out.Resources = append(out.Resources, in.Resources.List()...)
out.Verbs = []string{}
out.Verbs = append(out.Verbs, in.Verbs.List()...)
out.ResourceNames = in.ResourceNames.List()
out.NonResourceURLsSlice = in.NonResourceURLs.List()
return nil
}
示例11: convert_v1beta3_ImageStreamImage_To_api_ImageStreamImage
func convert_v1beta3_ImageStreamImage_To_api_ImageStreamImage(in *ImageStreamImage, out *newer.ImageStreamImage, s conversion.Scope) error {
imageName := in.ImageName
isiName := in.Name
if err := s.Convert(&in.Image, &out.Image, 0); err != nil {
return err
}
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
return err
}
out.Image.Name = imageName
out.Name = isiName
return nil
}
示例12: convert_v1beta3_ContainerStateTerminated_To_api_ContainerStateTerminated
func convert_v1beta3_ContainerStateTerminated_To_api_ContainerStateTerminated(in *ContainerStateTerminated, out *api.ContainerStateTerminated, s conversion.Scope) error {
if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
defaulting.(func(*ContainerStateTerminated))(in)
}
out.ExitCode = in.ExitCode
out.Signal = in.Signal
out.Reason = in.Reason
out.Message = in.Message
if err := s.Convert(&in.StartedAt, &out.StartedAt, 0); err != nil {
return err
}
if err := s.Convert(&in.FinishedAt, &out.FinishedAt, 0); err != nil {
return err
}
out.ContainerID = in.ContainerID
return nil
}
示例13: convert_v1_PolicyRule_To_api_PolicyRule
func convert_v1_PolicyRule_To_api_PolicyRule(in *PolicyRule, out *newer.PolicyRule, s conversion.Scope) error {
if err := s.Convert(&in.AttributeRestrictions, &out.AttributeRestrictions, 0); err != nil {
return err
}
out.Resources = util.StringSet{}
out.Resources.Insert(in.Resources...)
out.Verbs = util.StringSet{}
out.Verbs.Insert(in.Verbs...)
out.ResourceNames = util.NewStringSet(in.ResourceNames...)
out.NonResourceURLs = util.NewStringSet(in.NonResourceURLsSlice...)
return nil
}
示例14: rawExtensionToEmbeddedObject
// rawExtensionToEmbeddedObject does the conversion you would expect from the name, using the information
// given in conversion.Scope. It's placed in all schemes as a ConversionFunc to enable plugins;
// see the comment for RawExtension.
func (self *Scheme) rawExtensionToEmbeddedObject(in *RawExtension, out *EmbeddedObject, s conversion.Scope) error {
if len(in.RawJSON) == 0 || (len(in.RawJSON) == 4 && string(in.RawJSON) == "null") {
out.Object = nil
return nil
}
// Figure out the type and kind of the output object.
inVersion, outVersion, scheme := self.fromScope(s)
_, kind, err := scheme.raw.DataVersionAndKind(in.RawJSON)
if err != nil {
return err
}
// We have to make this object ourselves because we don't store the version field for
// plugin objects.
inObj, err := scheme.New(inVersion, kind)
if err != nil {
return err
}
err = scheme.DecodeInto(in.RawJSON, inObj)
if err != nil {
return err
}
// Make the desired internal version, and do the conversion.
outObj, err := scheme.New(outVersion, kind)
if err != nil {
return err
}
err = scheme.Convert(inObj, outObj)
if err != nil {
return err
}
// Last step, clear the Kind field; that should always be blank in memory.
err = s.Convert(
&emptyPlugin{PluginBase: PluginBase{Kind: ""}},
outObj,
conversion.SourceToDest|conversion.IgnoreMissingFields|conversion.AllowDifferentFieldTypeNames,
)
if err != nil {
return err
}
out.Object = outObj
return nil
}
示例15: convert_v1_DeploymentConfigSpec_To_api_DeploymentTemplate
func convert_v1_DeploymentConfigSpec_To_api_DeploymentTemplate(in *DeploymentConfigSpec, out *newer.DeploymentTemplate, s conversion.Scope) error {
out.ControllerTemplate.Replicas = in.Replicas
if in.Selector != nil {
out.ControllerTemplate.Selector = make(map[string]string)
for k, v := range in.Selector {
out.ControllerTemplate.Selector[k] = v
}
}
if in.Template != nil {
if err := s.Convert(&in.Template, &out.ControllerTemplate.Template, 0); err != nil {
return err
}
}
if err := s.Convert(&in.Strategy, &out.Strategy, 0); err != nil {
return err
}
return nil
}