v1alpha1

package
v0.8.1-rc.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2020 License: BSD-3-Clause Imports: 9 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the extensions v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=extensions.tsuru.io

Package v1alpha1 contains API Schema definitions for the extensions v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=extensions.tsuru.io

Index

Constants

View Source
const (
	BlockTypeRoot      = "root"
	BlockTypeHTTP      = "http"
	BlockTypeServer    = "server"
	BlockTypeLuaServer = "lua-server"
	BlockTypeLuaWorker = "lua-worker"
)
View Source
const CertificateNameDefault = "default"

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "extensions.tsuru.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)

Functions

func Bool

func Bool(v bool) *bool

func BoolValue

func BoolValue(v *bool) bool

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

Types

type AllocatedPort added in v0.6.3

type AllocatedPort struct {
	Port  int32           `json:"port,omitempty"`
	Owner NamespacedOwner `json:"owner,omitempty"`
}

func (*AllocatedPort) DeepCopy added in v0.6.3

func (in *AllocatedPort) DeepCopy() *AllocatedPort

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocatedPort.

func (*AllocatedPort) DeepCopyInto added in v0.6.3

func (in *AllocatedPort) DeepCopyInto(out *AllocatedPort)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Bind added in v0.6.3

type Bind struct {
	Name string `json:"name"`
	Host string `json:"host"`
}

func (*Bind) DeepCopy added in v0.6.3

func (in *Bind) DeepCopy() *Bind

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bind.

func (*Bind) DeepCopyInto added in v0.6.3

func (in *Bind) DeepCopyInto(out *Bind)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BlockType

type BlockType string

type CacheHeaterStorage

type CacheHeaterStorage struct {
	StorageClassName *string `json:"storageClassName"`
	StorageSize      string  `json:"storageSize"`
}

type Location

type Location struct {
	Path        string `json:"path"`
	Destination string `json:"destination,omitempty"`
	Content     *Value `json:"content,omitempty"`
	ForceHTTPS  bool   `json:"forceHTTPS,omitempty"`
}

func (*Location) DeepCopy

func (in *Location) DeepCopy() *Location

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Location.

func (*Location) DeepCopyInto

func (in *Location) DeepCopyInto(out *Location)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NamespacedOwner added in v0.6.3

type NamespacedOwner struct {
	Namespace string    `json:"namespace,omitempty"`
	RpaasName string    `json:"rpaasName,omitempty"`
	UID       types.UID `json:"uid,omitempty"`
}

func (*NamespacedOwner) DeepCopy added in v0.6.3

func (in *NamespacedOwner) DeepCopy() *NamespacedOwner

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedOwner.

func (*NamespacedOwner) DeepCopyInto added in v0.6.3

func (in *NamespacedOwner) DeepCopyInto(out *NamespacedOwner)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NginxConfig

type NginxConfig struct {
	User string `json:"user,omitempty"`

	UpstreamKeepalive int `json:"upstreamKeepalive,omitempty"`

	CacheEnabled     *bool  `json:"cacheEnabled,omitempty"`
	CacheInactive    string `json:"cacheInactive,omitempty"`
	CacheLoaderFiles int    `json:"cacheLoaderFiles,omitempty"`
	CachePath        string `json:"cachePath,omitempty"`
	CacheSize        string `json:"cacheSize,omitempty"`
	CacheZoneSize    string `json:"cacheZoneSize,omitempty"`

	CacheHeaterEnabled bool                `json:"cacheHeaterEnabled"`
	CacheHeaterStorage *CacheHeaterStorage `json:"cacheHeaterStorage"`

	HTTPListenOptions  string `json:"httpListenOptions,omitempty"`
	HTTPSListenOptions string `json:"httpsListenOptions,omitempty"`

	VTSEnabled                *bool  `json:"vtsEnabled,omitempty"`
	VTSStatusHistogramBuckets string `json:"vtsStatusHistogramBuckets,omitempty"`

	SyslogEnabled       *bool  `json:"syslogEnabled,omitempty"`
	SyslogServerAddress string `json:"syslogServerAddress,omitempty"`
	SyslogFacility      string `json:"syslogFacility,omitempty"`
	SyslogTag           string `json:"syslogTag,omitempty"`

	WorkerProcesses   int `json:"workerProcesses,omitempty"`
	WorkerConnections int `json:"workerConnections,omitempty"`
}

func (*NginxConfig) DeepCopy

func (in *NginxConfig) DeepCopy() *NginxConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NginxConfig.

func (*NginxConfig) DeepCopyInto

func (in *NginxConfig) DeepCopyInto(out *NginxConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RpaasFlavor added in v0.5.0

type RpaasFlavor struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec RpaasFlavorSpec `json:"spec,omitempty"`
}

RpaasFlavor is the Schema for the rpaasflavors API +k8s:openapi-gen=true

func (*RpaasFlavor) DeepCopy added in v0.5.0

func (in *RpaasFlavor) DeepCopy() *RpaasFlavor

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasFlavor.

func (*RpaasFlavor) DeepCopyInto added in v0.5.0

func (in *RpaasFlavor) DeepCopyInto(out *RpaasFlavor)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RpaasFlavor) DeepCopyObject added in v0.5.0

func (in *RpaasFlavor) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RpaasFlavorList added in v0.5.0

type RpaasFlavorList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RpaasFlavor `json:"items"`
}

RpaasFlavorList contains a list of RpaasFlavor

func (*RpaasFlavorList) DeepCopy added in v0.5.0

func (in *RpaasFlavorList) DeepCopy() *RpaasFlavorList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasFlavorList.

func (*RpaasFlavorList) DeepCopyInto added in v0.5.0

func (in *RpaasFlavorList) DeepCopyInto(out *RpaasFlavorList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RpaasFlavorList) DeepCopyObject added in v0.5.0

func (in *RpaasFlavorList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RpaasFlavorSpec added in v0.5.0

type RpaasFlavorSpec struct {
	// Description provides a human readable description about this flavor.
	// +optional
	Description string `json:"description,omitempty"`

	// InstanceTemplate defines a template which allows to override the
	// associated RpaasInstance.
	// +optional
	InstanceTemplate *RpaasInstanceSpec `json:"instanceTemplate,omitempty"`

	// Default defines if the flavor should be applied by default on
	// every service instance. Default flavors cannot be listed on RpaasFlavorList.
	// +optional
	Default bool `json:"default,omitempty"`
}

RpaasFlavorSpec defines the desired state of RpaasFlavor +k8s:openapi-gen=true

func (*RpaasFlavorSpec) DeepCopy added in v0.5.0

func (in *RpaasFlavorSpec) DeepCopy() *RpaasFlavorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasFlavorSpec.

func (*RpaasFlavorSpec) DeepCopyInto added in v0.5.0

func (in *RpaasFlavorSpec) DeepCopyInto(out *RpaasFlavorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RpaasInstance

type RpaasInstance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Status RpaasInstanceStatus `json:"status,omitempty"`
	Spec   RpaasInstanceSpec   `json:"spec,omitempty"`
}

RpaasInstance is the Schema for the rpaasinstances API +k8s:openapi-gen=true

func (*RpaasInstance) DeepCopy

func (in *RpaasInstance) DeepCopy() *RpaasInstance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasInstance.

func (*RpaasInstance) DeepCopyInto

func (in *RpaasInstance) DeepCopyInto(out *RpaasInstance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RpaasInstance) DeepCopyObject

func (in *RpaasInstance) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RpaasInstanceAutoscaleSpec added in v0.4.0

type RpaasInstanceAutoscaleSpec struct {
	// MaxReplicas is the upper limit for the number of replicas that can be set
	// by the HorizontalPodAutoscaler.
	MaxReplicas int32 `json:"maxReplicas"`
	// MinReplicas is the lower limit for the number of replicas that can be set
	// by the HorizontalPodAutoscaler.
	// Defaults to the RpaasInstance replicas value.
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// TargetCPUUtilizationPercentage is the target average CPU utilization over
	// all the pods. Represented as a percentage of requested CPU, e.g. int32(80)
	// equals to 80%.
	// +optional
	TargetCPUUtilizationPercentage *int32 `json:"targetCPUUtilizationPercentage,omitempty"`
	// TargetMemoryUtilizationPercentage is the target average memory utilization
	// over all the pods. Represented as a percentage of requested memory, e.g.
	// int32(80) equals to 80%.
	// +optional
	TargetMemoryUtilizationPercentage *int32 `json:"targetMemoryUtilizationPercentage,omitempty"`
}

RpaasInstanceAutoscaleSpec describes the behavior of HorizontalPodAutoscaler.

func (*RpaasInstanceAutoscaleSpec) DeepCopy added in v0.4.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasInstanceAutoscaleSpec.

func (*RpaasInstanceAutoscaleSpec) DeepCopyInto added in v0.4.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RpaasInstanceList

type RpaasInstanceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RpaasInstance `json:"items"`
}

RpaasInstanceList contains a list of RpaasInstance

func (*RpaasInstanceList) DeepCopy

func (in *RpaasInstanceList) DeepCopy() *RpaasInstanceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasInstanceList.

func (*RpaasInstanceList) DeepCopyInto

func (in *RpaasInstanceList) DeepCopyInto(out *RpaasInstanceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RpaasInstanceList) DeepCopyObject

func (in *RpaasInstanceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RpaasInstanceSpec

type RpaasInstanceSpec struct {
	// Number of desired pods. This is a pointer to distinguish between explicit
	// zero and not specified. Defaults to 1.
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// PlanName is the name of the rpaasplan instance.
	PlanName string `json:"planName"`

	// Flavors are references to RpaasFlavors resources. When provided, each flavor
	// merges its instance template spec with this instance spec.
	// +optional
	Flavors []string `json:"flavors,omitempty"`

	// PlanTemplate allow overriding fields in the specified plan.
	PlanTemplate *RpaasPlanSpec `json:"planTemplate,omitempty"`

	// Binds is the list of apps bounded to the instance
	Binds []Bind `json:"binds,omitempty"`

	// Blocks are configuration file fragments added to the generated nginx
	// config.
	Blocks map[BlockType]Value `json:"blocks,omitempty"`

	// Locations hold paths that can be configured to forward resquests to
	// one destination app or include raw NGINX configurations itself.
	// +optional
	Locations []Location `json:"locations,omitempty"`

	// Certificates are a set of attributes that relate the certificate's
	// location in the cluster (Secret resource name) and its destination into
	// Pods.
	// +optional
	Certificates *nginxv1alpha1.TLSSecret `json:"certificates,omitempty"`

	// Service to expose the nginx instance
	// +optional
	Service *nginxv1alpha1.NginxService `json:"service,omitempty"`

	// ExtraFiles points to a ConfigMap where the files are stored.
	// +optional
	ExtraFiles *nginxv1alpha1.FilesRef `json:"extraFiles,omitempty"`

	// The number of old Configs to retain to allow rollback.
	// +optional
	ConfigHistoryLimit *int `json:"configHistoryLimit,omitempty"`

	// PodTemplate used to configure the NGINX pod template.
	// +optional
	PodTemplate nginxv1alpha1.NginxPodTemplateSpec `json:"podTemplate,omitempty"`

	// AllocateContainerPorts enabled causes the operator to allocate a random
	// port to be used as container ports for nginx containers. This is useful
	// when combined with HostNetwork config to avoid conflicts between
	// multiple nginx instances.
	// +optional
	AllocateContainerPorts bool `json:"allocateContainerPorts,omitempty"`

	// Autoscale holds the infos used to configure the HorizontalPodAutoscaler
	// for this instance.
	// +optional
	Autoscale *RpaasInstanceAutoscaleSpec `json:"autoscale,omitempty"`

	// Lifecycle describes actions that should be executed when
	// some event happens to nginx container.
	// +optional
	Lifecycle *nginxv1alpha1.NginxLifecycle `json:"lifecycle,omitempty"`
}

RpaasInstanceSpec defines the desired state of RpaasInstance +k8s:openapi-gen=true

func (*RpaasInstanceSpec) DeepCopy

func (in *RpaasInstanceSpec) DeepCopy() *RpaasInstanceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasInstanceSpec.

func (*RpaasInstanceSpec) DeepCopyInto

func (in *RpaasInstanceSpec) DeepCopyInto(out *RpaasInstanceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RpaasInstanceStatus

type RpaasInstanceStatus struct{}

RpaasInstanceStatus defines the observed state of RpaasInstance +k8s:openapi-gen=true

func (*RpaasInstanceStatus) DeepCopy

func (in *RpaasInstanceStatus) DeepCopy() *RpaasInstanceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasInstanceStatus.

func (*RpaasInstanceStatus) DeepCopyInto

func (in *RpaasInstanceStatus) DeepCopyInto(out *RpaasInstanceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RpaasPlan

type RpaasPlan struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec RpaasPlanSpec `json:"spec,omitempty"`
}

RpaasPlan is the Schema for the rpaasplans API +k8s:openapi-gen=true

func (*RpaasPlan) DeepCopy

func (in *RpaasPlan) DeepCopy() *RpaasPlan

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasPlan.

func (*RpaasPlan) DeepCopyInto

func (in *RpaasPlan) DeepCopyInto(out *RpaasPlan)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RpaasPlan) DeepCopyObject

func (in *RpaasPlan) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RpaasPlanList

type RpaasPlanList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []RpaasPlan `json:"items"`
}

RpaasPlanList contains a list of RpaasPlan

func (*RpaasPlanList) DeepCopy

func (in *RpaasPlanList) DeepCopy() *RpaasPlanList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasPlanList.

func (*RpaasPlanList) DeepCopyInto

func (in *RpaasPlanList) DeepCopyInto(out *RpaasPlanList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RpaasPlanList) DeepCopyObject

func (in *RpaasPlanList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RpaasPlanSpec

type RpaasPlanSpec struct {
	// Image is the NGINX container image name. Defaults to Nginx image value.
	// +optional
	Image string `json:"image,omitempty"`
	// Config defines some NGINX configurations values that can be used in the
	// configuration template.
	// +optional
	Config NginxConfig `json:"config,omitempty"`
	// Template contains the main NGINX configuration template.
	// +optional
	Template *Value `json:"template,omitempty"`
	// Description describes the plan.
	// +optional
	Description string `json:"description,omitempty"`
	// Default indicates whether plan is default.
	// +optional
	Default bool `json:"default,omitempty"`
	// Resources requirements to be set on the NGINX container.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

RpaasPlanSpec defines the desired state of RpaasPlan +k8s:openapi-gen=true

func (*RpaasPlanSpec) DeepCopy

func (in *RpaasPlanSpec) DeepCopy() *RpaasPlanSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasPlanSpec.

func (*RpaasPlanSpec) DeepCopyInto

func (in *RpaasPlanSpec) DeepCopyInto(out *RpaasPlanSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RpaasPortAllocation added in v0.6.3

type RpaasPortAllocation struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec RpaasPortAllocationSpec `json:"spec,omitempty"`
}

RpaasPortAllocation is the Schema for the Rpaasportallocations API +k8s:openapi-gen=false

func (*RpaasPortAllocation) DeepCopy added in v0.6.3

func (in *RpaasPortAllocation) DeepCopy() *RpaasPortAllocation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasPortAllocation.

func (*RpaasPortAllocation) DeepCopyInto added in v0.6.3

func (in *RpaasPortAllocation) DeepCopyInto(out *RpaasPortAllocation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RpaasPortAllocation) DeepCopyObject added in v0.6.3

func (in *RpaasPortAllocation) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RpaasPortAllocationList added in v0.6.3

type RpaasPortAllocationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RpaasPortAllocation `json:"items"`
}

NginxList contains a list of Nginx

func (*RpaasPortAllocationList) DeepCopy added in v0.6.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasPortAllocationList.

func (*RpaasPortAllocationList) DeepCopyInto added in v0.6.3

func (in *RpaasPortAllocationList) DeepCopyInto(out *RpaasPortAllocationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RpaasPortAllocationList) DeepCopyObject added in v0.6.3

func (in *RpaasPortAllocationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RpaasPortAllocationSpec added in v0.6.3

type RpaasPortAllocationSpec struct {
	Ports []AllocatedPort `json:"ports,omitempty"`
}

RpaasPortAllocationSpec defines the state of port allocations

func (*RpaasPortAllocationSpec) DeepCopy added in v0.6.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasPortAllocationSpec.

func (*RpaasPortAllocationSpec) DeepCopyInto added in v0.6.3

func (in *RpaasPortAllocationSpec) DeepCopyInto(out *RpaasPortAllocationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RpaasPortAllocationStatus added in v0.6.3

type RpaasPortAllocationStatus struct {
}

func (*RpaasPortAllocationStatus) DeepCopy added in v0.6.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RpaasPortAllocationStatus.

func (*RpaasPortAllocationStatus) DeepCopyInto added in v0.6.3

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Value

type Value struct {
	Value     string       `json:"value,omitempty"`
	ValueFrom *ValueSource `json:"valueFrom,omitempty"`
}

func (*Value) DeepCopy

func (in *Value) DeepCopy() *Value

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Value.

func (*Value) DeepCopyInto

func (in *Value) DeepCopyInto(out *Value)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ValueSource

type ValueSource struct {
	ConfigMapKeyRef *corev1.ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
	Namespace       string                       `json:"namespace,omitempty"`
}

func (*ValueSource) DeepCopy

func (in *ValueSource) DeepCopy() *ValueSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueSource.

func (*ValueSource) DeepCopyInto

func (in *ValueSource) DeepCopyInto(out *ValueSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL