Documentation ¶
Overview ¶
Package storage contains API Schema definitions for the alertsmanagement storage API group +kubebuilder:object:generate=true All object properties are optional by default, this will be overridden when needed: +kubebuilder:validation:Optional +groupName=alertsmanagement.azure.com +versionName=v1api20230301storage
Code generated by azure-service-operator-codegen. DO NOT EDIT. Copyright (c) Microsoft Corporation. Licensed under the MIT license.
Index ¶
- Constants
- Variables
- type APIVersion
- type PrometheusRule
- type PrometheusRuleGroup
- func (group *PrometheusRuleGroup) AzureName() string
- func (group *PrometheusRuleGroup) ConfigMapDestinationExpressions() []*core.DestinationExpression
- func (in *PrometheusRuleGroup) DeepCopy() *PrometheusRuleGroup
- func (in *PrometheusRuleGroup) DeepCopyInto(out *PrometheusRuleGroup)
- func (in *PrometheusRuleGroup) DeepCopyObject() runtime.Object
- func (group PrometheusRuleGroup) GetAPIVersion() string
- func (group *PrometheusRuleGroup) GetConditions() conditions.Conditions
- func (group *PrometheusRuleGroup) GetResourceScope() genruntime.ResourceScope
- func (group *PrometheusRuleGroup) GetSpec() genruntime.ConvertibleSpec
- func (group *PrometheusRuleGroup) GetStatus() genruntime.ConvertibleStatus
- func (group *PrometheusRuleGroup) GetSupportedOperations() []genruntime.ResourceOperation
- func (group *PrometheusRuleGroup) GetType() string
- func (group *PrometheusRuleGroup) Hub()
- func (group *PrometheusRuleGroup) NewEmptyStatus() genruntime.ConvertibleStatus
- func (group *PrometheusRuleGroup) OriginalGVK() *schema.GroupVersionKind
- func (group *PrometheusRuleGroup) Owner() *genruntime.ResourceReference
- func (group *PrometheusRuleGroup) SecretDestinationExpressions() []*core.DestinationExpression
- func (group *PrometheusRuleGroup) SetConditions(conditions conditions.Conditions)
- func (group *PrometheusRuleGroup) SetStatus(status genruntime.ConvertibleStatus) error
- type PrometheusRuleGroupAction
- type PrometheusRuleGroupAction_STATUS
- type PrometheusRuleGroupList
- type PrometheusRuleGroupOperatorSpec
- type PrometheusRuleGroup_STATUS
- func (group *PrometheusRuleGroup_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error
- func (group *PrometheusRuleGroup_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error
- func (in *PrometheusRuleGroup_STATUS) DeepCopy() *PrometheusRuleGroup_STATUS
- func (in *PrometheusRuleGroup_STATUS) DeepCopyInto(out *PrometheusRuleGroup_STATUS)
- type PrometheusRuleGroup_Spec
- func (group *PrometheusRuleGroup_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error
- func (group *PrometheusRuleGroup_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error
- func (in *PrometheusRuleGroup_Spec) DeepCopy() *PrometheusRuleGroup_Spec
- func (in *PrometheusRuleGroup_Spec) DeepCopyInto(out *PrometheusRuleGroup_Spec)
- type PrometheusRuleResolveConfiguration
- type PrometheusRuleResolveConfiguration_STATUS
- type PrometheusRule_STATUS
- type SystemData_STATUS
Constants ¶
const APIVersion_Value = APIVersion("2023-03-01")
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "alertsmanagement.azure.com", Version: "v1api20230301storage"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type APIVersion ¶
type APIVersion string
Storage version of v1api20230301.APIVersion +kubebuilder:validation:Enum={"2023-03-01"}
type PrometheusRule ¶
type PrometheusRule struct { Actions []PrometheusRuleGroupAction `json:"actions,omitempty"` Alert *string `json:"alert,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` Enabled *bool `json:"enabled,omitempty"` Expression *string `json:"expression,omitempty"` For *string `json:"for,omitempty"` Labels map[string]string `json:"labels,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Record *string `json:"record,omitempty"` ResolveConfiguration *PrometheusRuleResolveConfiguration `json:"resolveConfiguration,omitempty"` Severity *int `json:"severity,omitempty"` }
Storage version of v1api20230301.PrometheusRule An Azure Prometheus alerting or recording rule.
func (*PrometheusRule) DeepCopy ¶
func (in *PrometheusRule) DeepCopy() *PrometheusRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRule.
func (*PrometheusRule) DeepCopyInto ¶
func (in *PrometheusRule) DeepCopyInto(out *PrometheusRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusRuleGroup ¶
type PrometheusRuleGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PrometheusRuleGroup_Spec `json:"spec,omitempty"` Status PrometheusRuleGroup_STATUS `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" Storage version of v1api20230301.PrometheusRuleGroup Generator information: - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2023-03-01/PrometheusRuleGroups.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{ruleGroupName}
func (*PrometheusRuleGroup) AzureName ¶
func (group *PrometheusRuleGroup) AzureName() string
AzureName returns the Azure name of the resource
func (*PrometheusRuleGroup) ConfigMapDestinationExpressions ¶
func (group *PrometheusRuleGroup) ConfigMapDestinationExpressions() []*core.DestinationExpression
ConfigMapDestinationExpressions returns the Spec.OperatorSpec.ConfigMapExpressions property
func (*PrometheusRuleGroup) DeepCopy ¶
func (in *PrometheusRuleGroup) DeepCopy() *PrometheusRuleGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleGroup.
func (*PrometheusRuleGroup) DeepCopyInto ¶
func (in *PrometheusRuleGroup) DeepCopyInto(out *PrometheusRuleGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PrometheusRuleGroup) DeepCopyObject ¶
func (in *PrometheusRuleGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (PrometheusRuleGroup) GetAPIVersion ¶
func (group PrometheusRuleGroup) GetAPIVersion() string
GetAPIVersion returns the ARM API version of the resource. This is always "2023-03-01"
func (*PrometheusRuleGroup) GetConditions ¶
func (group *PrometheusRuleGroup) GetConditions() conditions.Conditions
GetConditions returns the conditions of the resource
func (*PrometheusRuleGroup) GetResourceScope ¶
func (group *PrometheusRuleGroup) GetResourceScope() genruntime.ResourceScope
GetResourceScope returns the scope of the resource
func (*PrometheusRuleGroup) GetSpec ¶
func (group *PrometheusRuleGroup) GetSpec() genruntime.ConvertibleSpec
GetSpec returns the specification of this resource
func (*PrometheusRuleGroup) GetStatus ¶
func (group *PrometheusRuleGroup) GetStatus() genruntime.ConvertibleStatus
GetStatus returns the status of this resource
func (*PrometheusRuleGroup) GetSupportedOperations ¶
func (group *PrometheusRuleGroup) GetSupportedOperations() []genruntime.ResourceOperation
GetSupportedOperations returns the operations supported by the resource
func (*PrometheusRuleGroup) GetType ¶
func (group *PrometheusRuleGroup) GetType() string
GetType returns the ARM Type of the resource. This is always "Microsoft.AlertsManagement/prometheusRuleGroups"
func (*PrometheusRuleGroup) Hub ¶
func (group *PrometheusRuleGroup) Hub()
Hub marks that this PrometheusRuleGroup is the hub type for conversion
func (*PrometheusRuleGroup) NewEmptyStatus ¶
func (group *PrometheusRuleGroup) NewEmptyStatus() genruntime.ConvertibleStatus
NewEmptyStatus returns a new empty (blank) status
func (*PrometheusRuleGroup) OriginalGVK ¶
func (group *PrometheusRuleGroup) OriginalGVK() *schema.GroupVersionKind
OriginalGVK returns a GroupValueKind for the original API version used to create the resource
func (*PrometheusRuleGroup) Owner ¶
func (group *PrometheusRuleGroup) Owner() *genruntime.ResourceReference
Owner returns the ResourceReference of the owner
func (*PrometheusRuleGroup) SecretDestinationExpressions ¶
func (group *PrometheusRuleGroup) SecretDestinationExpressions() []*core.DestinationExpression
SecretDestinationExpressions returns the Spec.OperatorSpec.SecretExpressions property
func (*PrometheusRuleGroup) SetConditions ¶
func (group *PrometheusRuleGroup) SetConditions(conditions conditions.Conditions)
SetConditions sets the conditions on the resource status
func (*PrometheusRuleGroup) SetStatus ¶
func (group *PrometheusRuleGroup) SetStatus(status genruntime.ConvertibleStatus) error
SetStatus sets the status of this resource
type PrometheusRuleGroupAction ¶
type PrometheusRuleGroupAction struct { // ActionGroupReference: The resource id of the action group to use. ActionGroupReference *genruntime.ResourceReference `armReference:"ActionGroupId" json:"actionGroupReference,omitempty"` ActionProperties map[string]string `json:"actionProperties,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` }
Storage version of v1api20230301.PrometheusRuleGroupAction An alert action. Only relevant for alerts.
func (*PrometheusRuleGroupAction) DeepCopy ¶
func (in *PrometheusRuleGroupAction) DeepCopy() *PrometheusRuleGroupAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleGroupAction.
func (*PrometheusRuleGroupAction) DeepCopyInto ¶
func (in *PrometheusRuleGroupAction) DeepCopyInto(out *PrometheusRuleGroupAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusRuleGroupAction_STATUS ¶
type PrometheusRuleGroupAction_STATUS struct { ActionGroupId *string `json:"actionGroupId,omitempty"` ActionProperties map[string]string `json:"actionProperties,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` }
Storage version of v1api20230301.PrometheusRuleGroupAction_STATUS An alert action. Only relevant for alerts.
func (*PrometheusRuleGroupAction_STATUS) DeepCopy ¶
func (in *PrometheusRuleGroupAction_STATUS) DeepCopy() *PrometheusRuleGroupAction_STATUS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleGroupAction_STATUS.
func (*PrometheusRuleGroupAction_STATUS) DeepCopyInto ¶
func (in *PrometheusRuleGroupAction_STATUS) DeepCopyInto(out *PrometheusRuleGroupAction_STATUS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusRuleGroupList ¶
type PrometheusRuleGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PrometheusRuleGroup `json:"items"` }
+kubebuilder:object:root=true Storage version of v1api20230301.PrometheusRuleGroup Generator information: - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2023-03-01/PrometheusRuleGroups.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{ruleGroupName}
func (*PrometheusRuleGroupList) DeepCopy ¶
func (in *PrometheusRuleGroupList) DeepCopy() *PrometheusRuleGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleGroupList.
func (*PrometheusRuleGroupList) DeepCopyInto ¶
func (in *PrometheusRuleGroupList) DeepCopyInto(out *PrometheusRuleGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PrometheusRuleGroupList) DeepCopyObject ¶
func (in *PrometheusRuleGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PrometheusRuleGroupOperatorSpec ¶
type PrometheusRuleGroupOperatorSpec struct { ConfigMapExpressions []*core.DestinationExpression `json:"configMapExpressions,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` SecretExpressions []*core.DestinationExpression `json:"secretExpressions,omitempty"` }
Storage version of v1api20230301.PrometheusRuleGroupOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure
func (*PrometheusRuleGroupOperatorSpec) DeepCopy ¶
func (in *PrometheusRuleGroupOperatorSpec) DeepCopy() *PrometheusRuleGroupOperatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleGroupOperatorSpec.
func (*PrometheusRuleGroupOperatorSpec) DeepCopyInto ¶
func (in *PrometheusRuleGroupOperatorSpec) DeepCopyInto(out *PrometheusRuleGroupOperatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusRuleGroup_STATUS ¶
type PrometheusRuleGroup_STATUS struct { ClusterName *string `json:"clusterName,omitempty"` Conditions []conditions.Condition `json:"conditions,omitempty"` Description *string `json:"description,omitempty"` Enabled *bool `json:"enabled,omitempty"` Id *string `json:"id,omitempty"` Interval *string `json:"interval,omitempty"` Location *string `json:"location,omitempty"` Name *string `json:"name,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Rules []PrometheusRule_STATUS `json:"rules,omitempty"` Scopes []string `json:"scopes,omitempty"` SystemData *SystemData_STATUS `json:"systemData,omitempty"` Tags map[string]string `json:"tags,omitempty"` Type *string `json:"type,omitempty"` }
Storage version of v1api20230301.PrometheusRuleGroup_STATUS
func (*PrometheusRuleGroup_STATUS) ConvertStatusFrom ¶
func (group *PrometheusRuleGroup_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error
ConvertStatusFrom populates our PrometheusRuleGroup_STATUS from the provided source
func (*PrometheusRuleGroup_STATUS) ConvertStatusTo ¶
func (group *PrometheusRuleGroup_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error
ConvertStatusTo populates the provided destination from our PrometheusRuleGroup_STATUS
func (*PrometheusRuleGroup_STATUS) DeepCopy ¶
func (in *PrometheusRuleGroup_STATUS) DeepCopy() *PrometheusRuleGroup_STATUS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleGroup_STATUS.
func (*PrometheusRuleGroup_STATUS) DeepCopyInto ¶
func (in *PrometheusRuleGroup_STATUS) DeepCopyInto(out *PrometheusRuleGroup_STATUS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusRuleGroup_Spec ¶
type PrometheusRuleGroup_Spec struct { // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it // doesn't have to be. AzureName string `json:"azureName,omitempty"` ClusterName *string `json:"clusterName,omitempty"` Description *string `json:"description,omitempty"` Enabled *bool `json:"enabled,omitempty"` Interval *string `json:"interval,omitempty"` Location *string `json:"location,omitempty"` OperatorSpec *PrometheusRuleGroupOperatorSpec `json:"operatorSpec,omitempty"` OriginalVersion string `json:"originalVersion,omitempty"` // +kubebuilder:validation:Required // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a // reference to a resources.azure.com/ResourceGroup resource Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Rules []PrometheusRule `json:"rules,omitempty"` ScopesReferences []genruntime.ResourceReference `armReference:"Scopes" json:"scopesReferences,omitempty"` Tags map[string]string `json:"tags,omitempty"` }
Storage version of v1api20230301.PrometheusRuleGroup_Spec
func (*PrometheusRuleGroup_Spec) ConvertSpecFrom ¶
func (group *PrometheusRuleGroup_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error
ConvertSpecFrom populates our PrometheusRuleGroup_Spec from the provided source
func (*PrometheusRuleGroup_Spec) ConvertSpecTo ¶
func (group *PrometheusRuleGroup_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error
ConvertSpecTo populates the provided destination from our PrometheusRuleGroup_Spec
func (*PrometheusRuleGroup_Spec) DeepCopy ¶
func (in *PrometheusRuleGroup_Spec) DeepCopy() *PrometheusRuleGroup_Spec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleGroup_Spec.
func (*PrometheusRuleGroup_Spec) DeepCopyInto ¶
func (in *PrometheusRuleGroup_Spec) DeepCopyInto(out *PrometheusRuleGroup_Spec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusRuleResolveConfiguration ¶
type PrometheusRuleResolveConfiguration struct { AutoResolved *bool `json:"autoResolved,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` TimeToResolve *string `json:"timeToResolve,omitempty"` }
Storage version of v1api20230301.PrometheusRuleResolveConfiguration Specifies the Prometheus alert rule configuration.
func (*PrometheusRuleResolveConfiguration) DeepCopy ¶
func (in *PrometheusRuleResolveConfiguration) DeepCopy() *PrometheusRuleResolveConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleResolveConfiguration.
func (*PrometheusRuleResolveConfiguration) DeepCopyInto ¶
func (in *PrometheusRuleResolveConfiguration) DeepCopyInto(out *PrometheusRuleResolveConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusRuleResolveConfiguration_STATUS ¶
type PrometheusRuleResolveConfiguration_STATUS struct { AutoResolved *bool `json:"autoResolved,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` TimeToResolve *string `json:"timeToResolve,omitempty"` }
Storage version of v1api20230301.PrometheusRuleResolveConfiguration_STATUS Specifies the Prometheus alert rule configuration.
func (*PrometheusRuleResolveConfiguration_STATUS) DeepCopy ¶
func (in *PrometheusRuleResolveConfiguration_STATUS) DeepCopy() *PrometheusRuleResolveConfiguration_STATUS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRuleResolveConfiguration_STATUS.
func (*PrometheusRuleResolveConfiguration_STATUS) DeepCopyInto ¶
func (in *PrometheusRuleResolveConfiguration_STATUS) DeepCopyInto(out *PrometheusRuleResolveConfiguration_STATUS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusRule_STATUS ¶
type PrometheusRule_STATUS struct { Actions []PrometheusRuleGroupAction_STATUS `json:"actions,omitempty"` Alert *string `json:"alert,omitempty"` Annotations map[string]string `json:"annotations,omitempty"` Enabled *bool `json:"enabled,omitempty"` Expression *string `json:"expression,omitempty"` For *string `json:"for,omitempty"` Labels map[string]string `json:"labels,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` Record *string `json:"record,omitempty"` ResolveConfiguration *PrometheusRuleResolveConfiguration_STATUS `json:"resolveConfiguration,omitempty"` Severity *int `json:"severity,omitempty"` }
Storage version of v1api20230301.PrometheusRule_STATUS An Azure Prometheus alerting or recording rule.
func (*PrometheusRule_STATUS) DeepCopy ¶
func (in *PrometheusRule_STATUS) DeepCopy() *PrometheusRule_STATUS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusRule_STATUS.
func (*PrometheusRule_STATUS) DeepCopyInto ¶
func (in *PrometheusRule_STATUS) DeepCopyInto(out *PrometheusRule_STATUS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SystemData_STATUS ¶
type SystemData_STATUS struct { CreatedAt *string `json:"createdAt,omitempty"` CreatedBy *string `json:"createdBy,omitempty"` CreatedByType *string `json:"createdByType,omitempty"` LastModifiedAt *string `json:"lastModifiedAt,omitempty"` LastModifiedBy *string `json:"lastModifiedBy,omitempty"` LastModifiedByType *string `json:"lastModifiedByType,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` }
Storage version of v1api20230301.SystemData_STATUS Metadata pertaining to creation and last modification of the resource.
func (*SystemData_STATUS) DeepCopy ¶
func (in *SystemData_STATUS) DeepCopy() *SystemData_STATUS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS.
func (*SystemData_STATUS) DeepCopyInto ¶
func (in *SystemData_STATUS) DeepCopyInto(out *SystemData_STATUS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.