runtime migration: add non object embedded resource types
Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
This commit is contained in:
parent
99f439d5b9
commit
7f6ce22dcd
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
Copyright 2019 The Crossplane Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
)
|
||||
|
||||
// ResourceClaimSpec contains standard fields that all resource claims should
|
||||
// include in their spec. Unlike ResourceClaimStatus, ResourceClaimSpec should
|
||||
// typically be embedded in a claim specific struct.
|
||||
type ResourceClaimSpec struct {
|
||||
WriteConnectionSecretToReference corev1.LocalObjectReference `json:"writeConnectionSecretToRef,omitempty"`
|
||||
|
||||
// TODO(negz): Make the below references immutable once set? Doing so means
|
||||
// we don't have to track what provisioner was used to create a resource.
|
||||
|
||||
ClassReference *corev1.ObjectReference `json:"classRef,omitempty"`
|
||||
ResourceReference *corev1.ObjectReference `json:"resourceRef,omitempty"`
|
||||
}
|
||||
|
||||
// ResourceClaimStatus represents the status of a resource claim. Claims should
|
||||
// typically use this struct as their status.
|
||||
type ResourceClaimStatus struct {
|
||||
ConditionedStatus `json:",inline"`
|
||||
BindingStatus `json:",inline"`
|
||||
}
|
||||
|
||||
// ResourceSpec contains standard fields that all resources should
|
||||
// include in their spec. ResourceSpec should typically be embedded in a
|
||||
// resource specific struct.
|
||||
type ResourceSpec struct {
|
||||
WriteConnectionSecretToReference corev1.LocalObjectReference `json:"writeConnectionSecretToRef,omitempty"`
|
||||
|
||||
ClaimReference *corev1.ObjectReference `json:"claimRef,omitempty"`
|
||||
ClassReference *corev1.ObjectReference `json:"classRef,omitempty"`
|
||||
ProviderReference *corev1.ObjectReference `json:"providerRef"`
|
||||
|
||||
ReclaimPolicy ReclaimPolicy `json:"reclaimPolicy,omitempty"`
|
||||
}
|
||||
|
||||
// ResourceClassSpecTemplate contains standard fields that all resource classes should
|
||||
// include in their spec template. ResourceClassSpecTemplate should typically be embedded in a
|
||||
// resource class specific struct.
|
||||
type ResourceClassSpecTemplate struct {
|
||||
ProviderReference *corev1.ObjectReference `json:"providerRef"`
|
||||
|
||||
ReclaimPolicy ReclaimPolicy `json:"reclaimPolicy,omitempty"`
|
||||
}
|
||||
|
||||
// ResourceStatus contains standard fields that all resources should
|
||||
// include in their status. ResourceStatus should typically be embedded in a
|
||||
// resource specific status.
|
||||
type ResourceStatus struct {
|
||||
ConditionedStatus `json:",inline"`
|
||||
BindingStatus `json:",inline"`
|
||||
}
|
||||
|
||||
// Policy contains standard fields that all policies should include. Policy
|
||||
// should typically be embedded in a specific resource claim policy.
|
||||
type Policy struct {
|
||||
DefaultClassReference *corev1.ObjectReference `json:"defaultClassRef,omitempty"`
|
||||
}
|
||||
|
||||
// SetDefaultClassReference of this Policy
|
||||
func (p *Policy) SetDefaultClassReference(r *corev1.ObjectReference) {
|
||||
p.DefaultClassReference = r
|
||||
}
|
||||
|
||||
// GetDefaultClassReference of this Policy
|
||||
func (p *Policy) GetDefaultClassReference() *corev1.ObjectReference {
|
||||
return p.DefaultClassReference
|
||||
}
|
|
@ -20,6 +20,10 @@ limitations under the License.
|
|||
|
||||
package v1alpha1
|
||||
|
||||
import (
|
||||
v1 "k8s.io/api/core/v1"
|
||||
)
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *BindingStatus) DeepCopyInto(out *BindingStatus) {
|
||||
*out = *in
|
||||
|
@ -72,3 +76,134 @@ func (in *ConditionedStatus) DeepCopy() *ConditionedStatus {
|
|||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Policy) DeepCopyInto(out *Policy) {
|
||||
*out = *in
|
||||
if in.DefaultClassReference != nil {
|
||||
in, out := &in.DefaultClassReference, &out.DefaultClassReference
|
||||
*out = new(v1.ObjectReference)
|
||||
**out = **in
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.
|
||||
func (in *Policy) DeepCopy() *Policy {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(Policy)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *ResourceClaimSpec) DeepCopyInto(out *ResourceClaimSpec) {
|
||||
*out = *in
|
||||
out.WriteConnectionSecretToReference = in.WriteConnectionSecretToReference
|
||||
if in.ClassReference != nil {
|
||||
in, out := &in.ClassReference, &out.ClassReference
|
||||
*out = new(v1.ObjectReference)
|
||||
**out = **in
|
||||
}
|
||||
if in.ResourceReference != nil {
|
||||
in, out := &in.ResourceReference, &out.ResourceReference
|
||||
*out = new(v1.ObjectReference)
|
||||
**out = **in
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceClaimSpec.
|
||||
func (in *ResourceClaimSpec) DeepCopy() *ResourceClaimSpec {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(ResourceClaimSpec)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *ResourceClaimStatus) DeepCopyInto(out *ResourceClaimStatus) {
|
||||
*out = *in
|
||||
in.ConditionedStatus.DeepCopyInto(&out.ConditionedStatus)
|
||||
out.BindingStatus = in.BindingStatus
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceClaimStatus.
|
||||
func (in *ResourceClaimStatus) DeepCopy() *ResourceClaimStatus {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(ResourceClaimStatus)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *ResourceClassSpecTemplate) DeepCopyInto(out *ResourceClassSpecTemplate) {
|
||||
*out = *in
|
||||
if in.ProviderReference != nil {
|
||||
in, out := &in.ProviderReference, &out.ProviderReference
|
||||
*out = new(v1.ObjectReference)
|
||||
**out = **in
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceClassSpecTemplate.
|
||||
func (in *ResourceClassSpecTemplate) DeepCopy() *ResourceClassSpecTemplate {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(ResourceClassSpecTemplate)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *ResourceSpec) DeepCopyInto(out *ResourceSpec) {
|
||||
*out = *in
|
||||
out.WriteConnectionSecretToReference = in.WriteConnectionSecretToReference
|
||||
if in.ClaimReference != nil {
|
||||
in, out := &in.ClaimReference, &out.ClaimReference
|
||||
*out = new(v1.ObjectReference)
|
||||
**out = **in
|
||||
}
|
||||
if in.ClassReference != nil {
|
||||
in, out := &in.ClassReference, &out.ClassReference
|
||||
*out = new(v1.ObjectReference)
|
||||
**out = **in
|
||||
}
|
||||
if in.ProviderReference != nil {
|
||||
in, out := &in.ProviderReference, &out.ProviderReference
|
||||
*out = new(v1.ObjectReference)
|
||||
**out = **in
|
||||
}
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSpec.
|
||||
func (in *ResourceSpec) DeepCopy() *ResourceSpec {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(ResourceSpec)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *ResourceStatus) DeepCopyInto(out *ResourceStatus) {
|
||||
*out = *in
|
||||
in.ConditionedStatus.DeepCopyInto(&out.ConditionedStatus)
|
||||
out.BindingStatus = in.BindingStatus
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceStatus.
|
||||
func (in *ResourceStatus) DeepCopy() *ResourceStatus {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(ResourceStatus)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue