Documentation
¶
Overview ¶
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/operator-framework/catalogd/pkg/apis/core +k8s:defaulter-gen=TypeMeta +groupName=catalogd.operatorframework.io
Index ¶
- Constants
- Variables
- func IsUnpackPhaseError(err error) bool
- type AppLink
- type BundleMetadata
- func (in *BundleMetadata) DeepCopy() *BundleMetadata
- func (in *BundleMetadata) DeepCopyInto(out *BundleMetadata)
- func (in *BundleMetadata) DeepCopyObject() runtime.Object
- func (in *BundleMetadata) GetGroupVersionResource() schema.GroupVersionResource
- func (in *BundleMetadata) GetObjectMeta() *metav1.ObjectMeta
- func (in *BundleMetadata) GetStatus() resource.StatusSubResource
- func (in *BundleMetadata) IsStorageVersion() bool
- func (in *BundleMetadata) NamespaceScoped() bool
- func (in *BundleMetadata) New() runtime.Object
- func (in *BundleMetadata) NewList() runtime.Object
- func (in *BundleMetadata) Validate(ctx context.Context) field.ErrorList
- type BundleMetadataList
- type BundleMetadataSpec
- type BundleMetadataStatus
- type CatalogSource
- func (in *CatalogSource) DeepCopy() *CatalogSource
- func (in *CatalogSource) DeepCopyInto(out *CatalogSource)
- func (in *CatalogSource) DeepCopyObject() runtime.Object
- func (in *CatalogSource) GetGroupVersionResource() schema.GroupVersionResource
- func (in *CatalogSource) GetObjectMeta() *metav1.ObjectMeta
- func (in *CatalogSource) GetStatus() resource.StatusSubResource
- func (in *CatalogSource) IsStorageVersion() bool
- func (in *CatalogSource) NamespaceScoped() bool
- func (in *CatalogSource) New() runtime.Object
- func (in *CatalogSource) NewList() runtime.Object
- func (in *CatalogSource) Validate(ctx context.Context) field.ErrorList
- type CatalogSourceList
- type CatalogSourceSpec
- type CatalogSourceStatus
- type ChannelEntry
- type Description
- type Icon
- type Maintainer
- type Package
- func (in *Package) DeepCopy() *Package
- func (in *Package) DeepCopyInto(out *Package)
- func (in *Package) DeepCopyObject() runtime.Object
- func (in *Package) GetGroupVersionResource() schema.GroupVersionResource
- func (in *Package) GetObjectMeta() *metav1.ObjectMeta
- func (in *Package) GetStatus() resource.StatusSubResource
- func (in *Package) IsStorageVersion() bool
- func (in *Package) NamespaceScoped() bool
- func (in *Package) New() runtime.Object
- func (in *Package) NewList() runtime.Object
- func (in *Package) Validate(ctx context.Context) field.ErrorList
- type PackageChannel
- type PackageList
- type PackageSpec
- type PackageStatus
- type Property
- type RelatedImage
- type UnpackPhaseError
Constants ¶
const ( TypeReady = "Ready" ReasonContentsAvailable = "ContentsAvailable" ReasonUnpackError = "UnpackError" )
Variables ¶
var AddToScheme = func(scheme *runtime.Scheme) error { gv := schema.GroupVersion{ Group: "catalogd.operatorframework.io", Version: "v1beta1", } metav1.AddToGroupVersion(scheme, gv) scheme.AddKnownTypes(gv, &Package{}, &PackageList{}) scheme.AddKnownTypes(gv, &CatalogSource{}, &CatalogSourceList{}) scheme.AddKnownTypes(gv, &BundleMetadata{}, &BundleMetadataList{}) return nil }
Functions ¶
func IsUnpackPhaseError ¶
Types ¶
type AppLink ¶
AppLink defines a link to an application
func (*AppLink) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppLink.
func (*AppLink) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BundleMetadata ¶
type BundleMetadata struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BundleMetadataSpec `json:"spec,omitempty"`
Status BundleMetadataStatus `json:"status,omitempty"`
}
BundleMetadata +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*BundleMetadata) DeepCopy ¶
func (in *BundleMetadata) DeepCopy() *BundleMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleMetadata.
func (*BundleMetadata) DeepCopyInto ¶
func (in *BundleMetadata) DeepCopyInto(out *BundleMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BundleMetadata) DeepCopyObject ¶
func (in *BundleMetadata) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*BundleMetadata) GetGroupVersionResource ¶
func (in *BundleMetadata) GetGroupVersionResource() schema.GroupVersionResource
func (*BundleMetadata) GetObjectMeta ¶
func (in *BundleMetadata) GetObjectMeta() *metav1.ObjectMeta
func (*BundleMetadata) GetStatus ¶
func (in *BundleMetadata) GetStatus() resource.StatusSubResource
func (*BundleMetadata) IsStorageVersion ¶
func (in *BundleMetadata) IsStorageVersion() bool
func (*BundleMetadata) NamespaceScoped ¶
func (in *BundleMetadata) NamespaceScoped() bool
func (*BundleMetadata) New ¶
func (in *BundleMetadata) New() runtime.Object
func (*BundleMetadata) NewList ¶
func (in *BundleMetadata) NewList() runtime.Object
type BundleMetadataList ¶
type BundleMetadataList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BundleMetadata `json:"items"`
}
BundleMetadataList +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*BundleMetadataList) DeepCopy ¶
func (in *BundleMetadataList) DeepCopy() *BundleMetadataList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleMetadataList.
func (*BundleMetadataList) DeepCopyInto ¶
func (in *BundleMetadataList) DeepCopyInto(out *BundleMetadataList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BundleMetadataList) DeepCopyObject ¶
func (in *BundleMetadataList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*BundleMetadataList) GetListMeta ¶
func (in *BundleMetadataList) GetListMeta() *metav1.ListMeta
type BundleMetadataSpec ¶
type BundleMetadataSpec struct {
// CatalogSource is the name of the CatalogSource that provides this bundle
CatalogSource string `json:"catalogSource"`
// Package is the name of the package that provides this bundle
Package string `json:"package"`
// Image is a reference to the image that provides the bundle contents
Image string `json:"image"`
// Properties is a string of references to property objects that are part of the bundle
Properties []Property `json:"properties"`
// RelatedImages are the RelatedImages in the bundle
RelatedImages []RelatedImage `json:"relatedImages"`
}
BundleMetadataSpec defines the desired state of BundleMetadata
func (*BundleMetadataSpec) DeepCopy ¶
func (in *BundleMetadataSpec) DeepCopy() *BundleMetadataSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleMetadataSpec.
func (*BundleMetadataSpec) DeepCopyInto ¶
func (in *BundleMetadataSpec) DeepCopyInto(out *BundleMetadataSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BundleMetadataStatus ¶
type BundleMetadataStatus struct{}
BundleMetadataStatus defines the observed state of BundleMetadata
func (BundleMetadataStatus) CopyTo ¶
func (in BundleMetadataStatus) CopyTo(parent resource.ObjectWithStatusSubResource)
func (*BundleMetadataStatus) DeepCopy ¶
func (in *BundleMetadataStatus) DeepCopy() *BundleMetadataStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleMetadataStatus.
func (*BundleMetadataStatus) DeepCopyInto ¶
func (in *BundleMetadataStatus) DeepCopyInto(out *BundleMetadataStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (BundleMetadataStatus) SubResourceName ¶
func (in BundleMetadataStatus) SubResourceName() string
type CatalogSource ¶
type CatalogSource struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec CatalogSourceSpec `json:"spec,omitempty"`
Status CatalogSourceStatus `json:"status,omitempty"`
}
CatalogSource +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status
func (*CatalogSource) DeepCopy ¶
func (in *CatalogSource) DeepCopy() *CatalogSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSource.
func (*CatalogSource) DeepCopyInto ¶
func (in *CatalogSource) DeepCopyInto(out *CatalogSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CatalogSource) DeepCopyObject ¶
func (in *CatalogSource) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CatalogSource) GetGroupVersionResource ¶
func (in *CatalogSource) GetGroupVersionResource() schema.GroupVersionResource
func (*CatalogSource) GetObjectMeta ¶
func (in *CatalogSource) GetObjectMeta() *metav1.ObjectMeta
func (*CatalogSource) GetStatus ¶
func (in *CatalogSource) GetStatus() resource.StatusSubResource
func (*CatalogSource) IsStorageVersion ¶
func (in *CatalogSource) IsStorageVersion() bool
func (*CatalogSource) NamespaceScoped ¶
func (in *CatalogSource) NamespaceScoped() bool
func (*CatalogSource) New ¶
func (in *CatalogSource) New() runtime.Object
func (*CatalogSource) NewList ¶
func (in *CatalogSource) NewList() runtime.Object
type CatalogSourceList ¶
type CatalogSourceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []CatalogSource `json:"items"`
}
CatalogSourceList +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CatalogSourceList) DeepCopy ¶
func (in *CatalogSourceList) DeepCopy() *CatalogSourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSourceList.
func (*CatalogSourceList) DeepCopyInto ¶
func (in *CatalogSourceList) DeepCopyInto(out *CatalogSourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CatalogSourceList) DeepCopyObject ¶
func (in *CatalogSourceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CatalogSourceList) GetListMeta ¶
func (in *CatalogSourceList) GetListMeta() *metav1.ListMeta
type CatalogSourceSpec ¶
type CatalogSourceSpec struct {
// Image is the Catalog image that contains Operators' metadata in the FBC format
// https://olm.operatorframework.io/docs/reference/file-based-catalogs/#docs
Image string `json:"image"`
// PollingInterval is used to determine the time interval between checks of the
// latest index image version. The image is polled to see if a new version of the
// image is available. If available, the latest image is pulled and the cache is
// updated to contain the new content.
PollingInterval *metav1.Duration `json:"pollingInterval,omitempty"`
}
CatalogSourceSpec defines the desired state of CatalogSource
func (*CatalogSourceSpec) DeepCopy ¶
func (in *CatalogSourceSpec) DeepCopy() *CatalogSourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSourceSpec.
func (*CatalogSourceSpec) DeepCopyInto ¶
func (in *CatalogSourceSpec) DeepCopyInto(out *CatalogSourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CatalogSourceStatus ¶
type CatalogSourceStatus struct {
// Conditions store the status conditions of the CatalogSource instances
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}
CatalogSourceStatus defines the observed state of CatalogSource
func (CatalogSourceStatus) CopyTo ¶
func (in CatalogSourceStatus) CopyTo(parent resource.ObjectWithStatusSubResource)
func (*CatalogSourceStatus) DeepCopy ¶
func (in *CatalogSourceStatus) DeepCopy() *CatalogSourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSourceStatus.
func (*CatalogSourceStatus) DeepCopyInto ¶
func (in *CatalogSourceStatus) DeepCopyInto(out *CatalogSourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (CatalogSourceStatus) SubResourceName ¶
func (in CatalogSourceStatus) SubResourceName() string
type ChannelEntry ¶
type ChannelEntry struct {
Name string `json:"name"`
Replaces string `json:"replaces,omitempty"`
Skips []string `json:"skips,omitempty"`
SkipRange string `json:"skipRange,omitempty"`
}
func (*ChannelEntry) DeepCopy ¶
func (in *ChannelEntry) DeepCopy() *ChannelEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChannelEntry.
func (*ChannelEntry) DeepCopyInto ¶
func (in *ChannelEntry) DeepCopyInto(out *ChannelEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Description ¶
type Description struct {
// DisplayName
DisplayName string `json:"displayName,omitempty"`
// Icon is the base64 encoded icon
// +listType=set
Icon []Icon `json:"icon,omitempty"`
// Version
Version version.OperatorVersion `json:"version,omitempty"`
// Provider
Provider AppLink `json:"provider,omitempty"`
// // +listType=map
// Annotations map[string]string `json:"annotations,omitempty"`
// +listType=set
Keywords []string `json:"keywords,omitempty"`
// +listType=set
Links []AppLink `json:"links,omitempty"`
// +listType=set
Maintainers []Maintainer `json:"maintainers,omitempty"`
Maturity string `json:"maturity,omitempty"`
// LongDescription
LongDescription string `json:"description,omitempty"`
// InstallModes specify supported installation types
// +listType=set
InstallModes []operatorv1alpha1.InstallMode `json:"installModes,omitempty"`
CustomResourceDefinitions operatorv1alpha1.CustomResourceDefinitions `json:"customresourcedefinitions,omitempty"`
APIServiceDefinitions operatorv1alpha1.APIServiceDefinitions `json:"apiservicedefinitions,omitempty"`
NativeAPIs []metav1.GroupVersionKind `json:"nativeApis,omitempty"`
// Minimum Kubernetes version for operator installation
MinKubeVersion string `json:"minKubeVersion,omitempty"`
// List of related images
RelatedImages []string `json:"relatedImages,omitempty"`
}
Description
func (*Description) DeepCopy ¶
func (in *Description) DeepCopy() *Description
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Description.
func (*Description) DeepCopyInto ¶
func (in *Description) DeepCopyInto(out *Description)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Icon ¶
type Icon struct {
Base64Data string `json:"base64data,omitempty"`
Mediatype string `json:"mediatype,omitempty"`
}
Icon defines a base64 encoded icon and media type
func (*Icon) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Icon.
func (*Icon) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Maintainer ¶
type Maintainer struct {
Name string `json:"name,omitempty"`
Email string `json:"email,omitempty"`
}
Maintainer defines a project maintainer
func (*Maintainer) DeepCopy ¶
func (in *Maintainer) DeepCopy() *Maintainer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Maintainer.
func (*Maintainer) DeepCopyInto ¶
func (in *Maintainer) DeepCopyInto(out *Maintainer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Package ¶
type Package struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PackageSpec `json:"spec,omitempty"`
Status PackageStatus `json:"status,omitempty"`
}
Package +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster
func (*Package) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Package.
func (*Package) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Package) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Package) GetGroupVersionResource ¶
func (in *Package) GetGroupVersionResource() schema.GroupVersionResource
func (*Package) GetObjectMeta ¶
func (in *Package) GetObjectMeta() *metav1.ObjectMeta
func (*Package) GetStatus ¶
func (in *Package) GetStatus() resource.StatusSubResource
func (*Package) IsStorageVersion ¶
func (*Package) NamespaceScoped ¶
type PackageChannel ¶
type PackageChannel struct {
// Name is the name of the channel, e.g. `alpha` or `stable`
Name string `json:"name"`
// Entries is all the channel entries within a channel
Entries []ChannelEntry `json:"entries"`
}
PackageChannel defines a single channel under a package, pointing to a version of that package.
func (*PackageChannel) DeepCopy ¶
func (in *PackageChannel) DeepCopy() *PackageChannel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageChannel.
func (*PackageChannel) DeepCopyInto ¶
func (in *PackageChannel) DeepCopyInto(out *PackageChannel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageList ¶
type PackageList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Package `json:"items"`
}
PackageList +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*PackageList) DeepCopy ¶
func (in *PackageList) DeepCopy() *PackageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageList.
func (*PackageList) DeepCopyInto ¶
func (in *PackageList) DeepCopyInto(out *PackageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PackageList) DeepCopyObject ¶
func (in *PackageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PackageList) GetListMeta ¶
func (in *PackageList) GetListMeta() *metav1.ListMeta
type PackageSpec ¶
type PackageSpec struct {
// CatalogSource is the name of the CatalogSource this package belongs to
CatalogSource string `json:"catalogSource"`
CatalogSourceDisplayName string `json:"catalogSourceDisplayName,omitempty"`
CatalogSourcePublisher string `json:"catalogSourcePublisher,omitempty"`
// Description is the description of the package
Description string `json:"description"`
// Channels are the declared channels for the package, ala `stable` or `alpha`.
Channels []PackageChannel `json:"channels"`
//Icon is the Base64data image of the package for console display
Icon Icon `json:"icon,omitempty"`
// DefaultChannel is, if specified, the name of the default channel for the package. The
// default channel will be installed if no other channel is explicitly given. If the package
// has a single channel, then that channel is implicitly the default.
DefaultChannel string `json:"defaultChannel"`
}
PackageSpec defines the desired state of Package
func (*PackageSpec) DeepCopy ¶
func (in *PackageSpec) DeepCopy() *PackageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageSpec.
func (*PackageSpec) DeepCopyInto ¶
func (in *PackageSpec) DeepCopyInto(out *PackageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageStatus ¶
type PackageStatus struct{}
PackageStatus defines the observed state of Package
func (PackageStatus) CopyTo ¶
func (in PackageStatus) CopyTo(parent resource.ObjectWithStatusSubResource)
func (*PackageStatus) DeepCopy ¶
func (in *PackageStatus) DeepCopy() *PackageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageStatus.
func (*PackageStatus) DeepCopyInto ¶
func (in *PackageStatus) DeepCopyInto(out *PackageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PackageStatus) SubResourceName ¶
func (in PackageStatus) SubResourceName() string
type Property ¶
TODO: In the future we should remove this in favor of using `property.Property` from https://pkg.go.dev/github.com/operator-framework/operator-registry@v1.26.3/alpha/property#Property This will likely require some changes to the `property.Property` type to make it suitable for usage within the Spec for a CustomResource
func (*Property) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Property.
func (*Property) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RelatedImage ¶
TODO: In the future we should remove this in favor of using `model.RelatedImage` (or similar) from https://pkg.go.dev/github.com/operator-framework/operator-registry@v1.26.3/alpha/model#RelatedImage This will likely require some changes to the `model.RelatedImage` type to make it suitable for usage within the Spec for a CustomResource
func (*RelatedImage) DeepCopy ¶
func (in *RelatedImage) DeepCopy() *RelatedImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelatedImage.
func (*RelatedImage) DeepCopyInto ¶
func (in *RelatedImage) DeepCopyInto(out *RelatedImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UnpackPhaseError ¶
type UnpackPhaseError struct {
// contains filtered or unexported fields
}
TODO: We should probably move this to a specific errors package
func NewUnpackPhaseError ¶
func NewUnpackPhaseError(message string) *UnpackPhaseError
func (*UnpackPhaseError) DeepCopy ¶
func (in *UnpackPhaseError) DeepCopy() *UnpackPhaseError
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnpackPhaseError.
func (*UnpackPhaseError) DeepCopyInto ¶
func (in *UnpackPhaseError) DeepCopyInto(out *UnpackPhaseError)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UnpackPhaseError) Error ¶
func (upe *UnpackPhaseError) Error() string